Fix neoforge server startup crash

This commit is contained in:
James Seibel
2025-10-12 14:05:27 -05:00
parent 20b9f4f1cb
commit 22a4c6bc79
3 changed files with 12 additions and 5 deletions
@@ -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()
@@ -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(); }
@@ -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);