From 3b64ea630514f89d9effcd10b841540157685710 Mon Sep 17 00:00:00 2001 From: LexManos Date: Sun, 28 Jun 2020 15:08:03 -0700 Subject: [PATCH] Fix Forge's internal handler being registered in wrong place. Fix double call to loader end. --- .../server/dedicated/DedicatedServer.java.patch | 14 +++++--------- .../java/net/minecraftforge/common/ForgeMod.java | 7 ++++--- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch b/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch index 488113e5f2..17671a390a 100644 --- a/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch +++ b/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch @@ -39,25 +39,21 @@ if (serverproperties.field_219027_u != null) { this.func_200252_aR().func_223585_a(GameRules.field_223620_w).func_223570_a(serverproperties.field_219027_u, this); } -@@ -175,6 +181,7 @@ +@@ -189,11 +195,12 @@ } - if (serverproperties.field_219030_x) { -+ net.minecraftforge.fml.server.ServerModLoader.end(); - field_155771_h.info("Starting remote control listener"); - this.field_71339_n = new MainThread(this); - this.field_71339_n.func_72602_a(); -@@ -193,7 +200,8 @@ + Items.field_190931_a.func_150895_a(ItemGroup.field_78027_g, NonNullList.func_191196_a()); ++ // <3 you Grum for this, saves us ~30 patch files! --^ + if (serverproperties.field_241079_P_) { ServerInfoMBean.func_233490_a_(this); } - return true; -+ // <3 you Grum for this, saves us ~30 patch files! --^ + return net.minecraftforge.fml.server.ServerLifecycleHooks.handleServerStarting(this); } } -@@ -506,6 +514,11 @@ +@@ -506,6 +513,11 @@ return false; } diff --git a/src/main/java/net/minecraftforge/common/ForgeMod.java b/src/main/java/net/minecraftforge/common/ForgeMod.java index 209222fe75..7e8e45f6d2 100644 --- a/src/main/java/net/minecraftforge/common/ForgeMod.java +++ b/src/main/java/net/minecraftforge/common/ForgeMod.java @@ -123,6 +123,10 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook // Forge does not display problems when the remote is not matching. ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.DISPLAYTEST, ()-> Pair.of(()->"ANY", (remote, isServer)-> true)); StartupMessageManager.addModMessage("Forge version "+ForgeVersion.getVersion()); + + MinecraftForge.EVENT_BUS.addListener(VillagerTradingManager::loadTrades); + MinecraftForge.EVENT_BUS.register(MinecraftForge.INTERNAL_HANDLER); + MinecraftForge.EVENT_BUS.register(this); } public void preInit(FMLCommonSetupEvent evt) @@ -131,9 +135,6 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook CapabilityFluidHandler.register(); CapabilityAnimation.register(); CapabilityEnergy.register(); - MinecraftForge.EVENT_BUS.addListener(VillagerTradingManager::loadTrades); - MinecraftForge.EVENT_BUS.register(MinecraftForge.INTERNAL_HANDLER); - MinecraftForge.EVENT_BUS.register(this); VersionChecker.startVersionCheck();