From 3e7e73d4a833eea38049f7a8a1b9a251a88c0554 Mon Sep 17 00:00:00 2001 From: luacs1998 Date: Mon, 25 Aug 2014 16:45:09 +0800 Subject: [PATCH] Delay initialization of minecraft commands until after mod pre-init --- .../command/ServerCommandManager.java.patch | 20 +++++++++++++++++++ .../cpw/mods/fml/common/FMLCommonHandler.java | 3 +++ 2 files changed, 23 insertions(+) create mode 100644 patches/minecraft/net/minecraft/command/ServerCommandManager.java.patch diff --git a/patches/minecraft/net/minecraft/command/ServerCommandManager.java.patch b/patches/minecraft/net/minecraft/command/ServerCommandManager.java.patch new file mode 100644 index 000000000..a6b881337 --- /dev/null +++ b/patches/minecraft/net/minecraft/command/ServerCommandManager.java.patch @@ -0,0 +1,20 @@ +--- ../src-base/minecraft/net/minecraft/command/ServerCommandManager.java ++++ ../src-work/minecraft/net/minecraft/command/ServerCommandManager.java +@@ -39,7 +39,7 @@ + { + private static final String __OBFID = "CL_00000922"; + +- public ServerCommandManager() ++ public void delayInit() + { + this.func_71560_a(new CommandTime()); + this.func_71560_a(new CommandGameMode()); +@@ -96,6 +96,8 @@ + { + this.func_71560_a(new CommandPublishLocalServer()); + } ++ } ++ public ServerCommandManager(){ + + CommandBase.func_71529_a(this); + } diff --git a/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java b/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java index 9c5e065d3..f4de6273b 100644 --- a/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java +++ b/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java @@ -20,6 +20,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import net.minecraft.command.ServerCommandManager; import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReportCategory; import net.minecraft.entity.item.EntityItem; @@ -312,6 +313,8 @@ public void onServerStart(MinecraftServer dedicatedServer) { FMLServerHandler.instance(); sidedDelegate.beginServerLoading(dedicatedServer); + ServerCommandManager sch = (ServerCommandManager) dedicatedServer.getCommandManager(); + sch.delayInit(); } public void onServerStarted()