From 1474217de96a17a2d03d9527fac411097ae4ab87 Mon Sep 17 00:00:00 2001 From: RubixDev Date: Wed, 19 Jul 2023 10:41:53 +0800 Subject: [PATCH] fix: crash on client world creation screen --- src/main/java/de/rubixdev/rug/mixins/LevelStorageMixin.java | 6 ++++++ .../java/de/rubixdev/rug/mixins/MinecraftServerMixin.java | 2 ++ 2 files changed, 8 insertions(+) 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