Catch on dimension loading code and return default. (#44)
This commit is contained in:
parent
bfb050fe0c
commit
05d332863f
1 changed files with 22 additions and 17 deletions
|
@ -105,26 +105,31 @@ public class TogetherWorldPreset extends WorldPreset {
|
||||||
private static DimensionsWrapper DEFAULT_DIMENSIONS_WRAPPER = null;
|
private static DimensionsWrapper DEFAULT_DIMENSIONS_WRAPPER = null;
|
||||||
|
|
||||||
public static @NotNull Map<ResourceKey<LevelStem>, ChunkGenerator> loadWorldDimensions() {
|
public static @NotNull Map<ResourceKey<LevelStem>, ChunkGenerator> loadWorldDimensions() {
|
||||||
final RegistryAccess registryAccess = WorldBootstrap.getLastRegistryAccessOrElseBuiltin();
|
try {
|
||||||
if (registryAccess == BuiltinRegistries.ACCESS && Configs.MAIN_CONFIG.verboseLogging()) {
|
final RegistryAccess registryAccess = WorldBootstrap.getLastRegistryAccessOrElseBuiltin();
|
||||||
BCLib.LOGGER.info("Loading from builtin Registry");
|
if (registryAccess == BuiltinRegistries.ACCESS && Configs.MAIN_CONFIG.verboseLogging()) {
|
||||||
}
|
BCLib.LOGGER.info("Loading from builtin Registry");
|
||||||
final RegistryOps<Tag> registryOps = RegistryOps.create(NbtOps.INSTANCE, registryAccess);
|
}
|
||||||
if (DEFAULT_DIMENSIONS_WRAPPER == null) {
|
final RegistryOps<Tag> registryOps = RegistryOps.create(NbtOps.INSTANCE, registryAccess);
|
||||||
DEFAULT_DIMENSIONS_WRAPPER = new DimensionsWrapper(TogetherWorldPreset.getDimensionsMap(WorldPresets.getDEFAULT()));
|
if (DEFAULT_DIMENSIONS_WRAPPER == null) {
|
||||||
}
|
DEFAULT_DIMENSIONS_WRAPPER = new DimensionsWrapper(TogetherWorldPreset.getDimensionsMap(WorldPresets.getDEFAULT()));
|
||||||
|
}
|
||||||
|
|
||||||
CompoundTag presetNBT = WorldGenUtil.getPresetsNbt();
|
CompoundTag presetNBT = WorldGenUtil.getPresetsNbt();
|
||||||
if (!presetNBT.contains("dimensions")) {
|
if (!presetNBT.contains("dimensions")) {
|
||||||
|
return DEFAULT_DIMENSIONS_WRAPPER.dimensions;
|
||||||
|
}
|
||||||
|
|
||||||
|
Optional<DimensionsWrapper> oLevelStem = DimensionsWrapper.CODEC
|
||||||
|
.parse(new Dynamic<>(registryOps, presetNBT))
|
||||||
|
.resultOrPartial(WorldsTogether.LOGGER::error);
|
||||||
|
|
||||||
|
|
||||||
|
return oLevelStem.orElse(DEFAULT_DIMENSIONS_WRAPPER).dimensions;
|
||||||
|
} catch (Exception e) {
|
||||||
|
BCLib.LOGGER.error("Failed to load Dimensions", e);
|
||||||
return DEFAULT_DIMENSIONS_WRAPPER.dimensions;
|
return DEFAULT_DIMENSIONS_WRAPPER.dimensions;
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<DimensionsWrapper> oLevelStem = DimensionsWrapper.CODEC
|
|
||||||
.parse(new Dynamic<>(registryOps, presetNBT))
|
|
||||||
.resultOrPartial(WorldsTogether.LOGGER::error);
|
|
||||||
|
|
||||||
|
|
||||||
return oLevelStem.orElse(DEFAULT_DIMENSIONS_WRAPPER).dimensions;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Registry<LevelStem> getDimensions(ResourceKey<WorldPreset> key) {
|
public static Registry<LevelStem> getDimensions(ResourceKey<WorldPreset> key) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue