From 86b8deb3f395db05c8d5a332bb885718341afd48 Mon Sep 17 00:00:00 2001 From: "Blue (Lukas Rieger)" Date: Tue, 6 Oct 2020 16:05:39 +0200 Subject: [PATCH] Improve startup on forge to be more stable with other mods --- .../bluecolored/bluemap/forge/ForgeMod.java | 22 +++++++++++-------- .../bluecolored/bluemap/forge/ForgeMod.java | 18 +++++++++------ .../bluecolored/bluemap/forge/ForgeMod.java | 14 +++++++----- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/implementations/forge-1.14.4/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java b/implementations/forge-1.14.4/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java index ad375bde..58b6a6b2 100644 --- a/implementations/forge-1.14.4/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java +++ b/implementations/forge-1.14.4/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java @@ -37,6 +37,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; +import net.minecraftforge.fml.event.server.FMLServerStartedEvent; import org.apache.logging.log4j.LogManager; import com.github.benmanes.caffeine.cache.Caffeine; @@ -97,20 +98,23 @@ public ForgeMod() { MinecraftForge.EVENT_BUS.register(this); } - - @SubscribeEvent - public void onServerStarting(FMLServerStartingEvent event) { - this.worldUUIDs.clear(); - //save worlds to generate level.dat files - event.getServer().save(false, true, true); + @SubscribeEvent + public void onServerStarting(FMLServerStartingEvent event) { + this.serverInstance = event.getServer(); //register commands new Commands<>(pluginInstance, event.getServer().getCommandManager().getDispatcher(), forgeSource -> new ForgeCommandSource(this, pluginInstance, forgeSource)); - + } + + @SubscribeEvent + public void onServerStarted(FMLServerStartedEvent event) { + //save worlds to generate level.dat files + serverInstance.save(false, true, true); + new Thread(() -> { Logger.global.logInfo("Loading..."); - + try { pluginInstance.load(); if (pluginInstance.isLoaded()) Logger.global.logInfo("Loaded!"); @@ -119,7 +123,7 @@ public void onServerStarting(FMLServerStartingEvent event) { pluginInstance.unload(); } }).start(); - } + } @SubscribeEvent public void onServerStopping(FMLServerStoppingEvent event) { diff --git a/implementations/forge-1.15.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java b/implementations/forge-1.15.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java index 466dfe37..056df1ca 100644 --- a/implementations/forge-1.15.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java +++ b/implementations/forge-1.15.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java @@ -37,6 +37,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; +import net.minecraftforge.fml.event.server.FMLServerStartedEvent; import org.apache.logging.log4j.LogManager; import com.github.benmanes.caffeine.cache.Caffeine; @@ -100,17 +101,20 @@ public ForgeMod() { @SubscribeEvent public void onServerStarting(FMLServerStartingEvent event) { - this.worldUUIDs.clear(); - - //save worlds to generate level.dat files - event.getServer().save(false, true, true); + this.serverInstance = event.getServer(); //register commands new Commands<>(pluginInstance, event.getServer().getCommandManager().getDispatcher(), forgeSource -> new ForgeCommandSource(this, pluginInstance, forgeSource)); - + } + + @SubscribeEvent + public void onServerStarted(FMLServerStartedEvent event) { + //save worlds to generate level.dat files + serverInstance.save(false, true, true); + new Thread(() -> { Logger.global.logInfo("Loading..."); - + try { pluginInstance.load(); if (pluginInstance.isLoaded()) Logger.global.logInfo("Loaded!"); @@ -119,7 +123,7 @@ public void onServerStarting(FMLServerStartingEvent event) { pluginInstance.unload(); } }).start(); - } + } @SubscribeEvent public void onServerStopping(FMLServerStoppingEvent event) { diff --git a/implementations/forge-1.16.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java b/implementations/forge-1.16.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java index 71e6828f..24235d7e 100644 --- a/implementations/forge-1.16.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java +++ b/implementations/forge-1.16.2/src/main/java/de/bluecolored/bluemap/forge/ForgeMod.java @@ -37,6 +37,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; +import net.minecraftforge.fml.event.server.FMLServerStartedEvent; import org.apache.logging.log4j.LogManager; import com.github.benmanes.caffeine.cache.Caffeine; @@ -101,20 +102,23 @@ public ForgeMod() { } - + @SubscribeEvent - public void onServerStarting(FMLServerStartingEvent event) { + public void onServerStarting(FMLServerStartingEvent event) { this.serverInstance = event.getServer(); //register commands new Commands<>(pluginInstance, event.getServer().getCommandManager().getDispatcher(), forgeSource -> new ForgeCommandSource(this, pluginInstance, forgeSource)); + } + @SubscribeEvent + public void onServerStarted(FMLServerStartedEvent event) { //save worlds to generate level.dat files serverInstance.save(false, true, true); - + new Thread(() -> { Logger.global.logInfo("Loading..."); - + try { pluginInstance.load(); if (pluginInstance.isLoaded()) Logger.global.logInfo("Loaded!"); @@ -123,7 +127,7 @@ public void onServerStarting(FMLServerStartingEvent event) { pluginInstance.unload(); } }).start(); - } + } @SubscribeEvent public void onServerStopping(FMLServerStoppingEvent event) {