From 22a4c6bc79723d46fde53f0fcfccd42ea8078975 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 12 Oct 2025 14:05:27 -0500 Subject: [PATCH] Fix neoforge server startup crash --- .../distanthorizons/common/AbstractModInitializer.java | 5 +++-- .../java/com/seibel/distanthorizons/fabric/FabricMain.java | 5 ++++- .../com/seibel/distanthorizons/neoforge/NeoforgeMain.java | 7 +++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java b/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java index 2732edc48..487fa2a48 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java @@ -46,7 +46,8 @@ public abstract class AbstractModInitializer // abstract methods // //==================// - protected abstract void createInitialBindings(); + protected abstract void createInitialSharedBindings(); + protected abstract void createInitialClientBindings(); protected abstract IEventProxy createClientProxy(); protected abstract IEventProxy createServerProxy(boolean isDedicated); protected abstract void initializeModCompat(); @@ -140,7 +141,7 @@ public abstract class AbstractModInitializer { DependencySetup.createSharedBindings(); SharedApi.init(); - this.createInitialBindings(); + this.createInitialSharedBindings(); } private void logBuildInfo() diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricMain.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricMain.java index 7878ebc01..dab68b1cd 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricMain.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricMain.java @@ -71,11 +71,14 @@ public class FabricMain extends AbstractModInitializer implements ClientModIniti @Override - protected void createInitialBindings() + protected void createInitialSharedBindings() { SingletonInjector.INSTANCE.bind(IModChecker.class, ModChecker.INSTANCE); SingletonInjector.INSTANCE.bind(IPluginPacketSender.class, new FabricPluginPacketSender()); } + @Override + protected void createInitialClientBindings() { /* no additional setup needed currently */ } + @Override protected IEventProxy createClientProxy() { return new FabricClientProxy(); } diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeMain.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeMain.java index c8c2aa448..37c56f8f6 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeMain.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeMain.java @@ -124,11 +124,14 @@ public class NeoforgeMain extends AbstractModInitializer protected IEventProxy createServerProxy(boolean isDedicated) { return new NeoforgeServerProxy(isDedicated); } @Override - protected void createInitialBindings() + protected void createInitialSharedBindings() { SingletonInjector.INSTANCE.bind(IModChecker.class, ModChecker.INSTANCE); SingletonInjector.INSTANCE.bind(IPluginPacketSender.class, new NeoforgePluginPacketSender()); - + } + @Override + protected void createInitialClientBindings() + { // replace MC RenderWrapper with more specific neoforge version SingletonInjector.INSTANCE.unbind(IMinecraftRenderWrapper.class, MinecraftRenderWrapper.INSTANCE); // TODO replace with a replaceOrBind for simplicity SingletonInjector.INSTANCE.bind(IMinecraftRenderWrapper.class, NeoforgeMinecraftRenderWrapper.INSTANCE);