Removed WorldPresetSettings
This commit is contained in:
parent
877691011f
commit
fb19ebaae6
23 changed files with 291 additions and 543 deletions
|
@ -10,7 +10,6 @@ import org.betterx.worlds.together.biomesource.MergeableBiomeSource;
|
|||
import org.betterx.worlds.together.chunkgenerator.EnforceableChunkGenerator;
|
||||
import org.betterx.worlds.together.chunkgenerator.InjectableSurfaceRules;
|
||||
import org.betterx.worlds.together.chunkgenerator.RestorableBiomeSource;
|
||||
import org.betterx.worlds.together.levelgen.WorldGenUtil;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
|
@ -109,9 +108,10 @@ public class BCLChunkGenerator extends NoiseBasedChunkGenerator implements Resto
|
|||
public void restoreInitialBiomeSource(ResourceKey<LevelStem> dimensionKey) {
|
||||
if (initialBiomeSource != getBiomeSource()) {
|
||||
if (this instanceof ChunkGeneratorAccessor acc) {
|
||||
BiomeSource bs = WorldGenUtil.getWorldSettings()
|
||||
.addDatapackBiomes(initialBiomeSource, getBiomeSource().possibleBiomes());
|
||||
acc.bcl_setBiomeSource(bs);
|
||||
if (initialBiomeSource instanceof MergeableBiomeSource bs) {
|
||||
acc.bcl_setBiomeSource(bs.mergeWithBiomeSource(getBiomeSource()));
|
||||
}
|
||||
|
||||
rebuildFeaturesPerStep(getBiomeSource());
|
||||
}
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ public class BCLChunkGenerator extends NoiseBasedChunkGenerator implements Resto
|
|||
} else {
|
||||
bs = referenceGenerator.getBiomeSource();
|
||||
}
|
||||
|
||||
|
||||
InternalBiomeAPI.applyModifications(bs, dimensionKey);
|
||||
referenceGenerator = new BCLChunkGenerator(
|
||||
generator.bclib_getStructureSetsRegistry(),
|
||||
|
|
|
@ -8,9 +8,7 @@ import org.betterx.bclib.config.ConfigKeeper.StringArrayEntry;
|
|||
import org.betterx.bclib.config.Configs;
|
||||
import org.betterx.bclib.interfaces.BiomeMap;
|
||||
import org.betterx.bclib.interfaces.TheEndBiomeDataAccessor;
|
||||
import org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings;
|
||||
import org.betterx.worlds.together.biomesource.BiomeSourceWithConfig;
|
||||
import org.betterx.worlds.together.levelgen.WorldGenUtil;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
|
@ -158,12 +156,7 @@ public class BCLibEndBiomeSource extends BCLBiomeSource implements BiomeSourceWi
|
|||
this.centerBiome = biomeRegistry.getOrCreateHolderOrThrow(Biomes.THE_END);
|
||||
this.barrens = biomeRegistry.getOrCreateHolderOrThrow(Biomes.END_BARRENS);
|
||||
|
||||
if (WorldGenUtil.getWorldSettings() instanceof BCLWorldPresetSettings settings
|
||||
&& !settings.useEndTerrainGenerator) {
|
||||
this.endLandFunction = null;
|
||||
} else {
|
||||
this.endLandFunction = GeneratorOptions.getEndLandFunction();
|
||||
}
|
||||
this.endLandFunction = GeneratorOptions.getEndLandFunction();
|
||||
this.pos = new Point();
|
||||
|
||||
if (initMaps) {
|
||||
|
|
|
@ -216,7 +216,7 @@ public class BCLibNetherBiomeSource extends BCLBiomeSource implements BiomeSourc
|
|||
|
||||
@Override
|
||||
public void setTogetherConfig(BCLNetherBiomeSourceConfig newConfig) {
|
||||
this.config = config;
|
||||
this.config = newConfig;
|
||||
initMap(currentSeed);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,12 @@ import java.util.Objects;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class BCLEndBiomeSourceConfig implements BiomeSourceConfig<BCLibEndBiomeSource> {
|
||||
public static final BCLEndBiomeSourceConfig VANILLA = new BCLEndBiomeSourceConfig(
|
||||
EndBiomeMapType.VANILLA,
|
||||
EndBiomeGeneratorType.VANILLA,
|
||||
true,
|
||||
4096
|
||||
);
|
||||
public static final BCLEndBiomeSourceConfig MINECRAFT_17 = new BCLEndBiomeSourceConfig(
|
||||
EndBiomeMapType.SQUARE,
|
||||
EndBiomeGeneratorType.PAULEVS,
|
||||
|
|
|
@ -16,6 +16,9 @@ import java.util.Objects;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class BCLNetherBiomeSourceConfig implements BiomeSourceConfig<BCLibNetherBiomeSource> {
|
||||
public static final BCLNetherBiomeSourceConfig VANILLA = new BCLNetherBiomeSourceConfig(
|
||||
NetherBiomeMapType.VANILLA
|
||||
);
|
||||
public static final BCLNetherBiomeSourceConfig MINECRAFT_17 = new BCLNetherBiomeSourceConfig(
|
||||
NetherBiomeMapType.SQUARE
|
||||
);
|
||||
|
|
|
@ -10,16 +10,17 @@ import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
|
|||
import org.betterx.bclib.registry.PresetsRegistry;
|
||||
import org.betterx.worlds.together.world.event.WorldEvents;
|
||||
import org.betterx.worlds.together.worldPreset.TogetherWorldPreset;
|
||||
import org.betterx.worlds.together.worldPreset.settings.WorldPresetSettings;
|
||||
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.level.chunk.ChunkGenerator;
|
||||
import net.minecraft.world.level.dimension.LevelStem;
|
||||
import net.minecraft.world.level.levelgen.WorldGenSettings;
|
||||
import net.minecraft.world.level.levelgen.presets.WorldPreset;
|
||||
import net.minecraft.world.level.storage.LevelStorageSource;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
|
@ -89,21 +90,20 @@ public class LevelGenEvents {
|
|||
InternalBiomeAPI.initRegistry(a);
|
||||
}
|
||||
|
||||
public static WorldPresetSettings prepareWorld(
|
||||
public static void prepareWorld(
|
||||
LevelStorageSource.LevelStorageAccess storageAccess,
|
||||
WorldPresetSettings settings,
|
||||
Map<ResourceKey<LevelStem>, ChunkGenerator> dimensions,
|
||||
boolean isNewWorld
|
||||
) {
|
||||
setupWorld();
|
||||
if (isNewWorld) {
|
||||
DataFixerAPI.initializePatchData();
|
||||
}
|
||||
return settings;
|
||||
}
|
||||
|
||||
public static WorldPresetSettings prepareServerWorld(
|
||||
public static void prepareServerWorld(
|
||||
LevelStorageSource.LevelStorageAccess storageAccess,
|
||||
WorldPresetSettings settings,
|
||||
Map<ResourceKey<LevelStem>, ChunkGenerator> dimensions,
|
||||
boolean isNewWorld
|
||||
) {
|
||||
setupWorld();
|
||||
|
@ -113,9 +113,6 @@ public class LevelGenEvents {
|
|||
} else {
|
||||
DataFixerAPI.fixData(storageAccess, false, (didFix) -> {/* not called when showUI==false */});
|
||||
}
|
||||
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
public static void onWorldLoad() {
|
||||
|
|
|
@ -7,13 +7,11 @@ import org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource;
|
|||
import org.betterx.bclib.api.v2.generator.BCLibNetherBiomeSource;
|
||||
import org.betterx.bclib.api.v2.generator.config.BCLEndBiomeSourceConfig;
|
||||
import org.betterx.bclib.api.v2.generator.config.BCLNetherBiomeSourceConfig;
|
||||
import org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings;
|
||||
import org.betterx.bclib.registry.PresetsRegistry;
|
||||
import org.betterx.worlds.together.levelgen.WorldGenUtil;
|
||||
import org.betterx.worlds.together.util.ModUtil;
|
||||
import org.betterx.worlds.together.world.WorldConfig;
|
||||
import org.betterx.worlds.together.worldPreset.TogetherWorldPreset;
|
||||
import org.betterx.worlds.together.worldPreset.settings.WorldPresetSettings;
|
||||
|
||||
import com.mojang.serialization.Lifecycle;
|
||||
import net.minecraft.core.Holder;
|
||||
|
@ -26,6 +24,7 @@ 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.WorldGenSettings;
|
||||
import net.minecraft.world.level.levelgen.presets.WorldPreset;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
@ -111,23 +110,23 @@ public class LevelGenUtil {
|
|||
);
|
||||
}
|
||||
|
||||
public static WorldGenSettings replaceStem(
|
||||
ResourceKey<LevelStem> dimensionKey,
|
||||
WorldGenSettings worldGenSettings,
|
||||
LevelStem levelStem
|
||||
) {
|
||||
Registry<LevelStem> newDimensions = withDimension(
|
||||
dimensionKey,
|
||||
worldGenSettings.dimensions(),
|
||||
levelStem
|
||||
);
|
||||
return new WorldGenSettings(
|
||||
worldGenSettings.seed(),
|
||||
worldGenSettings.generateStructures(),
|
||||
worldGenSettings.generateBonusChest(),
|
||||
newDimensions
|
||||
);
|
||||
}
|
||||
// public static WorldGenSettings replaceStem(
|
||||
// ResourceKey<LevelStem> dimensionKey,
|
||||
// WorldGenSettings worldGenSettings,
|
||||
// LevelStem levelStem
|
||||
// ) {
|
||||
// Registry<LevelStem> newDimensions = withDimension(
|
||||
// dimensionKey,
|
||||
// worldGenSettings.dimensions(),
|
||||
// levelStem
|
||||
// );
|
||||
// return new WorldGenSettings(
|
||||
// worldGenSettings.seed(),
|
||||
// worldGenSettings.generateStructures(),
|
||||
// worldGenSettings.generateBonusChest(),
|
||||
// newDimensions
|
||||
// );
|
||||
// }
|
||||
|
||||
public static Registry<LevelStem> withDimension(
|
||||
ResourceKey<LevelStem> dimensionKey,
|
||||
|
@ -211,11 +210,11 @@ public class LevelGenUtil {
|
|||
return referenceSettings.dimensions().getHolder(dimensionKey);
|
||||
}
|
||||
|
||||
public static int getBiomeVersionForCurrentWorld(ResourceKey<LevelStem> key) {
|
||||
final CompoundTag settingsNbt = WorldGenUtil.getSettingsNbt();
|
||||
if (!settingsNbt.contains(key.location().toString())) return BCLBiomeSource.DEFAULT_BIOME_SOURCE_VERSION;
|
||||
return settingsNbt.getInt(key.location().toString());
|
||||
}
|
||||
// public static int getBiomeVersionForCurrentWorld(ResourceKey<LevelStem> key) {
|
||||
// final CompoundTag settingsNbt = WorldGenUtil.getSettingsNbt();
|
||||
// if (!settingsNbt.contains(key.location().toString())) return BCLBiomeSource.DEFAULT_BIOME_SOURCE_VERSION;
|
||||
// return settingsNbt.getInt(key.location().toString());
|
||||
// }
|
||||
|
||||
// private static int getDimensionVersion(
|
||||
// WorldGenSettings settings,
|
||||
|
@ -242,7 +241,7 @@ public class LevelGenUtil {
|
|||
|
||||
if (settingsNbt.size() == 0) {
|
||||
BCLib.LOGGER.info("Found World without generator Settings. Setting up data...");
|
||||
int biomeSourceVersion = BCLBiomeSource.DEFAULT_BIOME_SOURCE_VERSION;
|
||||
ResourceKey<WorldPreset> biomeSourceVersion = PresetsRegistry.BCL_WORLD;
|
||||
|
||||
final CompoundTag bclRoot = WorldConfig.getRootTag(BCLib.MOD_ID);
|
||||
|
||||
|
@ -254,32 +253,32 @@ public class LevelGenUtil {
|
|||
|
||||
if (isPre18) {
|
||||
BCLib.LOGGER.info("World was create pre 1.18!");
|
||||
biomeSourceVersion = BCLBiomeSource.BIOME_SOURCE_VERSION_SQUARE;
|
||||
biomeSourceVersion = PresetsRegistry.BCL_WORLD_17;
|
||||
}
|
||||
|
||||
if (WorldConfig.hasMod("betternether")) {
|
||||
BCLib.LOGGER.info("Found Data from BetterNether, using for migration.");
|
||||
final CompoundTag bnRoot = WorldConfig.getRootTag("betternether");
|
||||
biomeSourceVersion = "1.17".equals(bnRoot.getString(TAG_BN_GEN_VERSION))
|
||||
? BCLBiomeSource.BIOME_SOURCE_VERSION_SQUARE
|
||||
: BCLBiomeSource.BIOME_SOURCE_VERSION_HEX;
|
||||
? PresetsRegistry.BCL_WORLD_17
|
||||
: PresetsRegistry.BCL_WORLD;
|
||||
}
|
||||
|
||||
BCLib.LOGGER.info("Set world to BiomeSource Version " + biomeSourceVersion);
|
||||
TogetherWorldPreset.writeWorldPresetSettings(new BCLWorldPresetSettings(
|
||||
biomeSourceVersion,
|
||||
biomeSourceVersion,
|
||||
true,
|
||||
true
|
||||
));
|
||||
Registry<LevelStem> dimensions = TogetherWorldPreset.getDimensions(biomeSourceVersion);
|
||||
if (dimensions != null) {
|
||||
BCLib.LOGGER.info("Set world to BiomeSource Version " + biomeSourceVersion);
|
||||
TogetherWorldPreset.writeWorldPresetSettings(dimensions);
|
||||
} else {
|
||||
BCLib.LOGGER.error("Failed to set world to BiomeSource Version " + biomeSourceVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Replace by {@link WorldGenUtil#getWorldSettings()}
|
||||
*/
|
||||
@Deprecated(forRemoval = true)
|
||||
public static WorldPresetSettings getWorldSettings() {
|
||||
return WorldGenUtil.getWorldSettings();
|
||||
}
|
||||
// /**
|
||||
// * @deprecated Replace by {@link WorldGenUtil#getWorldSettings()}
|
||||
// */
|
||||
// @Deprecated(forRemoval = true)
|
||||
// public static WorldPresetSettings getWorldSettings() {
|
||||
// return null;
|
||||
// }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue