diff --git a/src/main/java/de/rubixdev/rug/mixins/LevelStorageMixin.java b/src/main/java/de/rubixdev/rug/mixins/LevelStorageMixin.java index 5c80f93..6d9955a 100644 --- a/src/main/java/de/rubixdev/rug/mixins/LevelStorageMixin.java +++ b/src/main/java/de/rubixdev/rug/mixins/LevelStorageMixin.java @@ -13,4 +13,10 @@ public class LevelStorageMixin { private void storeSession(String directoryName, CallbackInfoReturnable cir) { Storage.session = cir.getReturnValue(); } + + @Inject(method = "createSessionWithoutSymlinkCheck", at = @At("RETURN")) + private void storeSessionWithoutSymlinkCheck( + String directoryName, CallbackInfoReturnable cir) { + Storage.session = cir.getReturnValue(); + } } diff --git a/src/main/java/de/rubixdev/rug/mixins/MinecraftServerMixin.java b/src/main/java/de/rubixdev/rug/mixins/MinecraftServerMixin.java index c94a360..a795caa 100644 --- a/src/main/java/de/rubixdev/rug/mixins/MinecraftServerMixin.java +++ b/src/main/java/de/rubixdev/rug/mixins/MinecraftServerMixin.java @@ -25,6 +25,8 @@ private static void loadRugData( boolean safeMode, FeatureSet enabledFeatures, CallbackInfoReturnable cir) { + // if no session exists yet (still in world creation screen), then do nothing + if (Storage.session == null) return; // make Carpet load the config file early CarpetServer.settingsManager.attachServer(null); // initialize `RugData` datapack