From e294fc79eb8cffb44ad0337f2cb5d789aa098b50 Mon Sep 17 00:00:00 2001 From: tom lee Date: Sun, 23 Jan 2022 20:28:35 +0800 Subject: [PATCH] Fixed using wrong func for makeBiome(). --- .../worldGeneration/WorldGenerationStep.java | 15 ++++++++++++--- common/src/main/resources/lod.accesswidener | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/WorldGenerationStep.java b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/WorldGenerationStep.java index 17b5f1987..12a6c19e4 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/WorldGenerationStep.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/WorldGenerationStep.java @@ -62,6 +62,7 @@ import net.minecraft.world.level.LightLayer; import net.minecraft.world.level.StructureFeatureManager; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.BiomeManager; +import net.minecraft.world.level.biome.BiomeResolver; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.EntityBlock; @@ -86,8 +87,11 @@ import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; import net.minecraft.core.SectionPos; import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.levelgen.Beardifier; +import net.minecraft.world.level.levelgen.BelowZeroRetrogen; import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator; +import net.minecraft.world.level.levelgen.NoiseChunk; import net.minecraft.world.level.levelgen.NoiseSettings; import net.minecraft.world.level.levelgen.WorldGenSettings; import net.minecraft.world.level.levelgen.blending.Blender; @@ -117,7 +121,7 @@ Lod Generation: 0.269023348s */ public final class WorldGenerationStep { - public static final boolean ENABLE_PERF_LOGGING = true; + public static final boolean ENABLE_PERF_LOGGING = false; public static final boolean ENABLE_EVENT_LOGGING = false; //TODO: Make this LightMode a config //TODO: Make actual proper support for StarLight @@ -804,8 +808,13 @@ public final class WorldGenerationStep { public final ChunkStatus STATUS = ChunkStatus.BIOMES; private ChunkAccess createBiomes(ChunkGenerator generator, Registry registry, Blender blender, StructureFeatureManager structureFeatureManager, ChunkAccess chunkAccess) { - chunkAccess.fillBiomesFromNoise(generator.getBiomeSource()::getNoiseBiome, generator.climateSampler()); - return chunkAccess; + if (generator instanceof NoiseBasedChunkGenerator) { + ((NoiseBasedChunkGenerator) generator).doCreateBiomes(registry, blender, structureFeatureManager, chunkAccess); + return chunkAccess; + } else { + chunkAccess.fillBiomesFromNoise(generator.getBiomeSource()::getNoiseBiome, generator.climateSampler()); + return chunkAccess; + } } public void generateGroup(ThreadedParameters tParams, WorldGenRegion worldGenRegion, diff --git a/common/src/main/resources/lod.accesswidener b/common/src/main/resources/lod.accesswidener index 752bd2c30..aa1a0dc5e 100644 --- a/common/src/main/resources/lod.accesswidener +++ b/common/src/main/resources/lod.accesswidener @@ -24,6 +24,7 @@ accessible method net/minecraft/world/level/levelgen/Heightmap setHeight (III)V accessible field net/minecraft/world/level/biome/Biome generationSettings Lnet/minecraft/world/level/biome/BiomeGenerationSettings; accessible field net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator settings Ljava/util/function/Supplier; accessible method net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator doFill (Lnet/minecraft/world/level/levelgen/blending/Blender;Lnet/minecraft/world/level/StructureFeatureManager;Lnet/minecraft/world/level/chunk/ChunkAccess;II)Lnet/minecraft/world/level/chunk/ChunkAccess; +accessible method net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator doCreateBiomes (Lnet/minecraft/core/Registry;Lnet/minecraft/world/level/levelgen/blending/Blender;Lnet/minecraft/world/level/StructureFeatureManager;Lnet/minecraft/world/level/chunk/ChunkAccess;)V # lod generation from save file accessible field net/minecraft/server/level/ChunkMap mainThreadExecutor Lnet/minecraft/util/thread/BlockableEventLoop;