mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 02:20:57 +00:00
Fix game metapack loading
This commit is contained in:
@@ -66,7 +66,8 @@ public abstract class ModPlatform extends AbstractPlatform {
|
|||||||
});
|
});
|
||||||
getRawConfigRegistry()
|
getRawConfigRegistry()
|
||||||
.forEach(pack -> {
|
.forEach(pack -> {
|
||||||
PresetUtil.createDefault(pack, this, configPacksInMetaPack.contains(pack.getID())).apply(registerFunction);
|
boolean packInMetapack = configPacksInMetaPack.contains(pack.getID());
|
||||||
|
PresetUtil.createDefault(pack, this, packInMetapack, packInMetapack).apply(registerFunction);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class PresetUtil {
|
|||||||
private static final Logger LOGGER = LoggerFactory.getLogger(PresetUtil.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(PresetUtil.class);
|
||||||
private static final List<Pair<Identifier, Boolean>> PRESETS = new ArrayList<>();
|
private static final List<Pair<Identifier, Boolean>> PRESETS = new ArrayList<>();
|
||||||
|
|
||||||
public static Pair<Identifier, WorldPreset> createDefault(ConfigPack pack, ModPlatform platform, boolean extended) {
|
public static Pair<Identifier, WorldPreset> createDefault(ConfigPack pack, ModPlatform platform, boolean extended, boolean packInMetapack) {
|
||||||
Registry<DimensionType> dimensionTypeRegistry = platform.dimensionTypeRegistry();
|
Registry<DimensionType> dimensionTypeRegistry = platform.dimensionTypeRegistry();
|
||||||
Registry<ChunkGeneratorSettings> chunkGeneratorSettingsRegistry = platform.chunkGeneratorSettingsRegistry();
|
Registry<ChunkGeneratorSettings> chunkGeneratorSettingsRegistry = platform.chunkGeneratorSettingsRegistry();
|
||||||
Registry<MultiNoiseBiomeSourceParameterList> multiNoiseBiomeSourceParameterLists =
|
Registry<MultiNoiseBiomeSourceParameterList> multiNoiseBiomeSourceParameterLists =
|
||||||
@@ -55,7 +55,7 @@ public class PresetUtil {
|
|||||||
|
|
||||||
HashMap<RegistryKey<DimensionOptions>, DimensionOptions> dimensionMap = new HashMap<>();
|
HashMap<RegistryKey<DimensionOptions>, DimensionOptions> dimensionMap = new HashMap<>();
|
||||||
|
|
||||||
insertCustom(platform, "minecraft:overworld", pack, dimensionTypeRegistry, chunkGeneratorSettingsRegistry, dimensionMap);
|
insertCustom(platform, "minecraft:overworld", pack, dimensionTypeRegistry, chunkGeneratorSettingsRegistry, dimensionMap, packInMetapack);
|
||||||
|
|
||||||
insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(),
|
insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(),
|
||||||
dimensionMap);
|
dimensionMap);
|
||||||
@@ -80,7 +80,7 @@ public class PresetUtil {
|
|||||||
HashMap<RegistryKey<DimensionOptions>, DimensionOptions> dimensionMap = new HashMap<>();
|
HashMap<RegistryKey<DimensionOptions>, DimensionOptions> dimensionMap = new HashMap<>();
|
||||||
|
|
||||||
metaPack.packs().forEach((key, pack) -> {
|
metaPack.packs().forEach((key, pack) -> {
|
||||||
insertCustom(platform, key, pack, dimensionTypeRegistry, chunkGeneratorSettingsRegistry, dimensionMap);
|
insertCustom(platform, key, pack, dimensionTypeRegistry, chunkGeneratorSettingsRegistry, dimensionMap, false);
|
||||||
});
|
});
|
||||||
|
|
||||||
insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(),
|
insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(),
|
||||||
@@ -93,7 +93,7 @@ public class PresetUtil {
|
|||||||
|
|
||||||
private static void insertCustom(ModPlatform platform, String key, ConfigPack pack, Registry<DimensionType> dimensionTypeRegistry,
|
private static void insertCustom(ModPlatform platform, String key, ConfigPack pack, Registry<DimensionType> dimensionTypeRegistry,
|
||||||
Registry<ChunkGeneratorSettings> chunkGeneratorSettingsRegistry,
|
Registry<ChunkGeneratorSettings> chunkGeneratorSettingsRegistry,
|
||||||
HashMap<RegistryKey<DimensionOptions>, DimensionOptions> dimensionMap) {
|
HashMap<RegistryKey<DimensionOptions>, DimensionOptions> dimensionMap, boolean packInMetapack) {
|
||||||
Identifier demensionIdentifier = Identifier.of(key);
|
Identifier demensionIdentifier = Identifier.of(key);
|
||||||
|
|
||||||
VanillaWorldProperties vanillaWorldProperties;
|
VanillaWorldProperties vanillaWorldProperties;
|
||||||
@@ -108,12 +108,18 @@ public class PresetUtil {
|
|||||||
|
|
||||||
assert defaultDimension != null;
|
assert defaultDimension != null;
|
||||||
|
|
||||||
DimensionType dimensionType = DimensionUtil.createDimension(vanillaWorldProperties, defaultDimension, platform);
|
Identifier dimensionTypeID = Identifier.of("terra", pack.getID().toLowerCase(Locale.ROOT));
|
||||||
RegistryKey<DimensionType> dimensionTypeRegistryKey = MinecraftUtil.registerDimensionTypeKey(
|
|
||||||
Identifier.of("terra", pack.getID().toLowerCase(
|
|
||||||
Locale.ROOT)));
|
|
||||||
|
|
||||||
Registry.registerReference(dimensionTypeRegistry, dimensionTypeRegistryKey, dimensionType);
|
DimensionType dimensionType;
|
||||||
|
if (!packInMetapack) {
|
||||||
|
dimensionType = DimensionUtil.createDimension(vanillaWorldProperties, defaultDimension, platform);
|
||||||
|
RegistryKey<DimensionType> dimensionTypeRegistryKey = MinecraftUtil.registerDimensionTypeKey(
|
||||||
|
dimensionTypeID);
|
||||||
|
|
||||||
|
Registry.registerReference(dimensionTypeRegistry, dimensionTypeRegistryKey, dimensionType);
|
||||||
|
} else {
|
||||||
|
dimensionType = dimensionTypeRegistry.get(dimensionTypeID);
|
||||||
|
}
|
||||||
|
|
||||||
RegistryEntry<DimensionType> dimensionTypeRegistryEntry = dimensionTypeRegistry.getEntry(dimensionType);
|
RegistryEntry<DimensionType> dimensionTypeRegistryEntry = dimensionTypeRegistry.getEntry(dimensionType);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user