diff --git a/README.md b/README.md index 49362c9e..e2d0fd33 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ is directly derived from Sodium and used under the terms of the LGPL-3.0 license - 1.18.2, both modloaders: https://nightly.link/embeddedt/ModernFix/workflows/gradle/1.18/Package.zip - 1.19.2, both modloaders: https://nightly.link/embeddedt/ModernFix/workflows/gradle/1.19.2/Package.zip - 1.19.4, both modloaders: https://nightly.link/embeddedt/ModernFix/workflows/gradle/1.19.4/Package.zip +- 1.20.1, both modloaders: https://nightly.link/embeddedt/ModernFix/workflows/gradle/1.20/Package.zip ------------ diff --git a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java b/fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java index 10be5040..e91c26de 100644 --- a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java +++ b/fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java @@ -4,22 +4,23 @@ import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.minecraft.server.MinecraftServer; +import java.lang.ref.WeakReference; + public class ModernFixFabric implements ModInitializer { private ModernFix commonMod; - public static MinecraftServer theServer; + public static WeakReference theServer = new WeakReference<>(null); @Override public void onInitialize() { commonMod = new ModernFix(); ServerLifecycleEvents.SERVER_STARTING.register(server -> { - theServer = server; + theServer = new WeakReference<>(server); }); ServerLifecycleEvents.SERVER_STARTED.register(server -> { commonMod.onServerStarted(); }); ServerLifecycleEvents.SERVER_STOPPED.register(server -> { commonMod.onServerDead(server); - theServer = null; }); // TODO: implement entity ID desync diff --git a/fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java b/fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java index 4a4a289b..a3cae473 100644 --- a/fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java +++ b/fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java @@ -53,7 +53,7 @@ public class ModernFixPlatformHooksImpl { } public static MinecraftServer getCurrentServer() { - return ModernFixFabric.theServer; + return ModernFixFabric.theServer.get(); } public static boolean isLoadingNormally() {