[Fix] Dimension height is not updated for repaired BiomeSources (quiqueck/BetterEnd#28)

This commit is contained in:
Frank 2022-07-03 13:35:12 +02:00
parent 0eb857e293
commit b3c58b42e9
5 changed files with 34 additions and 5 deletions

View file

@ -3,6 +3,7 @@ package org.betterx.worlds.together.levelgen;
import org.betterx.worlds.together.WorldsTogether;
import org.betterx.worlds.together.biomesource.BiomeSourceWithConfig;
import org.betterx.worlds.together.chunkgenerator.EnforceableChunkGenerator;
import org.betterx.worlds.together.world.BiomeSourceWithNoiseRelatedSettings;
import org.betterx.worlds.together.world.BiomeSourceWithSeed;
import org.betterx.worlds.together.world.WorldConfig;
import org.betterx.worlds.together.worldPreset.TogetherWorldPreset;
@ -19,6 +20,7 @@ import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.dimension.DimensionType;
import net.minecraft.world.level.dimension.LevelStem;
import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator;
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
import net.minecraft.world.level.levelgen.WorldGenSettings;
import net.minecraft.world.level.levelgen.presets.WorldPreset;
@ -46,6 +48,11 @@ public class WorldGenUtil {
if (stem.generator().getBiomeSource() instanceof BiomeSourceWithSeed bcl) {
bcl.setSeed(seed);
}
if (stem.generator().getBiomeSource() instanceof BiomeSourceWithNoiseRelatedSettings bcl
&& stem.generator() instanceof NoiseBasedChunkGenerator noiseGenerator) {
bcl.onLoadGeneratorSettings(noiseGenerator.generatorSettings().value());
}
}
return settings;

View file

@ -0,0 +1,7 @@
package org.betterx.worlds.together.world;
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
public interface BiomeSourceWithNoiseRelatedSettings {
void onLoadGeneratorSettings(NoiseGeneratorSettings generator);
}