remove vanilla methods from ConfigPack

This commit is contained in:
dfsek
2021-12-16 22:50:48 -07:00
parent 1852d9103f
commit 8773c414c5
5 changed files with 42 additions and 83 deletions

View File

@@ -31,14 +31,6 @@ public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolde
Map<BaseAddon, VersionRange> addons();
boolean vanillaMobs();
boolean vanillaStructures();
boolean vanillaCaves();
boolean vanillaFlora();
BiomeProvider getBiomeProvider();
<T> CheckedRegistry<T> getOrCreateRegistry(Type clazz);

View File

@@ -265,26 +265,6 @@ public class ConfigPackImpl implements ConfigPack {
return addons;
}
@Override
public boolean vanillaMobs() {
return template.vanillaMobs();
}
@Override
public boolean vanillaStructures() {
return template.vanillaStructures();
}
@Override
public boolean vanillaCaves() {
return template.vanillaCaves();
}
@Override
public boolean vanillaFlora() {
return template.vanillaDecorations();
}
@Override
public BiomeProvider getBiomeProvider() {
return seededBiomeProvider;

View File

@@ -79,22 +79,26 @@ public class BukkitChunkGeneratorWrapper extends org.bukkit.generator.ChunkGener
@Override
public boolean shouldGenerateCaves() {
return pack.vanillaCaves();
return false;
//return pack.vanillaCaves();
}
@Override
public boolean shouldGenerateDecorations() {
return pack.vanillaFlora();
return false;
//return pack.vanillaFlora();
}
@Override
public boolean shouldGenerateMobs() {
return pack.vanillaMobs();
return true;
//return pack.vanillaMobs();
}
@Override
public boolean shouldGenerateStructures() {
return pack.vanillaStructures();
return false;
//return pack.vanillaStructures();
}

View File

@@ -17,42 +17,6 @@
package com.dfsek.terra.fabric.generation;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.block.BlockState;
import net.minecraft.entity.SpawnGroup;
import net.minecraft.util.collection.Pool;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.world.ChunkRegion;
import net.minecraft.world.HeightLimitView;
import net.minecraft.world.Heightmap;
import net.minecraft.world.SpawnHelper;
import net.minecraft.world.StructureWorldAccess;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.SpawnSettings;
import net.minecraft.world.biome.source.BiomeAccess;
import net.minecraft.world.biome.source.util.MultiNoiseUtil;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.StructureAccessor;
import net.minecraft.world.gen.chunk.Blender;
import net.minecraft.world.gen.chunk.StructuresConfig;
import net.minecraft.world.gen.chunk.VerticalBlockSample;
import net.minecraft.world.gen.feature.NetherFortressFeature;
import net.minecraft.world.gen.feature.OceanMonumentFeature;
import net.minecraft.world.gen.feature.PillagerOutpostFeature;
import net.minecraft.world.gen.feature.StructureFeature;
import net.minecraft.world.gen.feature.SwampHutFeature;
import net.minecraft.world.gen.random.AtomicSimpleRandom;
import net.minecraft.world.gen.random.ChunkRandom;
import net.minecraft.world.gen.random.RandomSeed;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
@@ -64,6 +28,34 @@ import com.dfsek.terra.fabric.FabricEntryPoint;
import com.dfsek.terra.fabric.block.FabricBlockState;
import com.dfsek.terra.fabric.mixin.access.StructureAccessorAccessor;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.block.BlockState;
import net.minecraft.entity.SpawnGroup;
import net.minecraft.util.collection.Pool;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.world.*;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.SpawnSettings;
import net.minecraft.world.biome.source.BiomeAccess;
import net.minecraft.world.biome.source.util.MultiNoiseUtil;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.StructureAccessor;
import net.minecraft.world.gen.chunk.Blender;
import net.minecraft.world.gen.chunk.StructuresConfig;
import net.minecraft.world.gen.chunk.VerticalBlockSample;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.random.AtomicSimpleRandom;
import net.minecraft.world.gen.random.ChunkRandom;
import net.minecraft.world.gen.random.RandomSeed;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.ChunkGenerator implements GeneratorWrapper {
public static final Codec<ConfigPack> PACK_CODEC = RecordCodecBuilder.create(
@@ -128,13 +120,12 @@ public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.C
@Override
public void populateEntities(ChunkRegion region) {
if(pack.vanillaMobs()) {
ChunkPos chunkPos = region.getCenterPos();
Biome biome = region.getBiome(chunkPos.getStartPos().withY(region.getTopY() - 1));
ChunkRandom chunkRandom = new ChunkRandom(new AtomicSimpleRandom(RandomSeed.getSeed()));
chunkRandom.setPopulationSeed(region.getSeed(), chunkPos.getStartX(), chunkPos.getStartZ());
SpawnHelper.populateEntities(region, biome, chunkPos, chunkRandom);
}
ChunkPos chunkPos = region.getCenterPos();
Biome biome = region.getBiome(chunkPos.getStartPos().withY(region.getTopY() - 1));
ChunkRandom chunkRandom = new ChunkRandom(new AtomicSimpleRandom(RandomSeed.getSeed()));
chunkRandom.setPopulationSeed(region.getSeed(), chunkPos.getStartX(), chunkPos.getStartZ());
SpawnHelper.populateEntities(region, biome, chunkPos, chunkRandom);
}
@Override

View File

@@ -74,14 +74,6 @@ public final class FabricUtil {
net.minecraft.world.biome.Biome vanilla = ((ProtoPlatformBiome) biome.getPlatformBiome()).get(biomeRegistry);
GenerationSettings.Builder generationSettings = new GenerationSettings.Builder();
if(pack.vanillaCaves()) {
for(GenerationStep.Carver carver : GenerationStep.Carver.values()) {
for(Supplier<ConfiguredCarver<?>> configuredCarverSupplier : vanilla.getGenerationSettings().getCarversForStep(carver)) {
generationSettings.carver(carver, configuredCarverSupplier.get());
}
}
}
/*
Pair<PreLoadCompatibilityOptions, PostLoadCompatibilityOptions> pair = fabricAddon.getTemplates().get(pack);