ExperWorldGen: Fixed World gen on non Overworld
This commit is contained in:
+9
@@ -29,6 +29,7 @@ import com.seibel.lod.core.enums.config.DistanceGenerationMode;
|
||||
import com.seibel.lod.core.objects.PosToGenerateContainer;
|
||||
import com.seibel.lod.core.objects.lod.LodDimension;
|
||||
import com.seibel.lod.core.util.LevelPosUtil;
|
||||
import com.seibel.lod.core.util.LodUtil;
|
||||
import com.seibel.lod.core.util.SingletonHandler;
|
||||
import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
|
||||
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
|
||||
@@ -59,6 +60,14 @@ public class ExperimentalGenerator extends AbstractExperimentalWorldGeneratorWra
|
||||
|
||||
@Override
|
||||
public void queueGenerationRequests(LodDimension lodDim, LodBuilder lodBuilder) {
|
||||
if (lodDim != targetLodDim) {
|
||||
stop();
|
||||
WorldWrapper dim = (WorldWrapper) LodUtil.getServerWorldFromDimension(lodDim.dimension);
|
||||
generationGroup = new WorldGenerationStep(dim.getServerWorld(), lodBuilder, lodDim);
|
||||
targetLodDim = lodDim;
|
||||
ClientApi.LOGGER.info("1.18 Experimental Chunk Generator reinitialized");
|
||||
}
|
||||
|
||||
DistanceGenerationMode mode = CONFIG.client().worldGenerator().getDistanceGenerationMode();
|
||||
numberOfGenerationPoints = CONFIG.client().advanced().threading().getNumberOfWorldGenerationThreads();
|
||||
|
||||
|
||||
+2
-7
@@ -167,12 +167,7 @@ public final class WorldGenerationStep {
|
||||
worldSeed = worldGenSettings.seed();
|
||||
biomeManager = new BiomeManager(level, BiomeManager.obfuscateSeed(worldSeed));
|
||||
structures = server.getStructureManager();
|
||||
// TODO: Get the current level dimension
|
||||
MappedRegistry<LevelStem> mappedRegistry = worldGenSettings.dimensions();
|
||||
LevelStem levelStem = (LevelStem) mappedRegistry.get(LevelStem.OVERWORLD);
|
||||
if (levelStem == null)
|
||||
throw new RuntimeException("There should already be a level.... Right???");
|
||||
generator = levelStem.generator();
|
||||
generator = level.getChunkSource().getGenerator();
|
||||
chunkScanner = level.getChunkSource().chunkScanner();
|
||||
fixerUpper = server.getFixerUpper();
|
||||
}
|
||||
@@ -183,7 +178,7 @@ public final class WorldGenerationStep {
|
||||
final StructureCheck structCheck;
|
||||
public ThreadedParameters(GlobalParameters param) {
|
||||
structCheck = new StructureCheck(param.chunkScanner, param.registry, param.structures,
|
||||
Level.OVERWORLD, param.generator, param.level, param.generator.getBiomeSource(), param.worldSeed, param.fixerUpper);
|
||||
param.level.dimension(), param.generator, param.level, param.generator.getBiomeSource(), param.worldSeed, param.fixerUpper);
|
||||
structFeat = new StructureFeatureManager(param.level, param.worldGenSettings, structCheck);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user