From b158c64a25718061fcaf7ec20298ebf9a8ca5876 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 12 Sep 2023 23:18:42 +0200 Subject: [PATCH] Make sure we still initialize the bclib world config --- .../mixin/client/CreateWorldScreen_Mixin.java | 1 + .../together/world/event/WorldBootstrap.java | 37 +++++++------------ 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/betterx/worlds/together/mixin/client/CreateWorldScreen_Mixin.java b/src/main/java/org/betterx/worlds/together/mixin/client/CreateWorldScreen_Mixin.java index 127013a4..b1051769 100644 --- a/src/main/java/org/betterx/worlds/together/mixin/client/CreateWorldScreen_Mixin.java +++ b/src/main/java/org/betterx/worlds/together/mixin/client/CreateWorldScreen_Mixin.java @@ -27,5 +27,6 @@ public abstract class CreateWorldScreen_Mixin { @Inject(method = "createNewWorldDirectory", at = @At("RETURN")) void wt_createNewWorld(CallbackInfoReturnable> cir) { WorldBootstrap.Helpers.onRegistryReady(this.getUiState().getSettings().worldgenLoadContext()); + WorldBootstrap.InGUI.setupNewWorld(cir.getReturnValue()); } } diff --git a/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java b/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java index 1810866f..3c47cbcf 100644 --- a/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java +++ b/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java @@ -10,7 +10,6 @@ import net.minecraft.core.RegistryAccess; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.dimension.LevelStem; -import net.minecraft.world.level.levelgen.WorldDimensions; import net.minecraft.world.level.levelgen.presets.WorldPreset; import net.minecraft.world.level.storage.LevelResource; import net.minecraft.world.level.storage.LevelStorageSource; @@ -116,14 +115,23 @@ public class WorldBootstrap { Helpers.onRegistryReady(access); } - static Holder setupNewWorldCommon( - LevelStorageSource.LevelStorageAccess levelStorageAccess, - Holder currentPreset + public static void setupNewWorld( + Optional levelStorageAccess + ) { + + if (levelStorageAccess.isPresent()) { + setupNewWorldCommon(levelStorageAccess.get()); + } else { + WorldsTogether.LOGGER.error("Unable to access Level Folder."); + } + + } + + public static void setupNewWorldCommon( + LevelStorageSource.LevelStorageAccess levelStorageAccess ) { setupWorld(levelStorageAccess, true, false); finishedWorldLoad(); - - return currentPreset; } /** @@ -164,23 +172,6 @@ public class WorldBootstrap { } - public static class InFreshLevel { - public static void setupNewWorld( - String levelID, - WorldDimensions worldDims, - LevelStorageSource levelSource, - Holder worldPreset - ) { - try { - var levelStorageAccess = levelSource.createAccess(levelID); - InGUI.setupNewWorldCommon(levelStorageAccess, worldPreset); - levelStorageAccess.close(); - } catch (Exception e) { - WorldsTogether.LOGGER.error("Failed to initialize data in world", e); - } - } - } - private static void setupWorld( LevelStorageSource.LevelStorageAccess levelStorageAccess, boolean newWorld, boolean isServer