diff --git a/core b/core index 2149da59d..58392a8ac 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 2149da59df12c2aa55a69c3e93bfcbc19e2f26ae +Subproject commit 58392a8ac13837f67ca3d10ff25e3f6aa949a703 diff --git a/forge/src/main/java/com/seibel/lod/forge/ForgeMain.java b/forge/src/main/java/com/seibel/lod/forge/ForgeMain.java index c10ed01b7..d4e5e0b70 100644 --- a/forge/src/main/java/com/seibel/lod/forge/ForgeMain.java +++ b/forge/src/main/java/com/seibel/lod/forge/ForgeMain.java @@ -68,16 +68,22 @@ public class ForgeMain implements LodForgeMethodCaller private void init(final FMLCommonSetupEvent event) { - // make sure the dependencies are set up before the mod needs them LodCommonMain.initConfig(); LodCommonMain.startup(this, !FMLLoader.getDist().isClient()); - ForgeDependencySetup.createInitialBindings(); + ApiShared.LOGGER.info("Distant Horizons initializing..."); - SingletonHandler.bind(IModChecker.class, ModChecker.INSTANCE); - + + + // make sure the dependencies are set up before the mod needs them + ForgeDependencySetup.createInitialBindings(); + ForgeDependencySetup.finishBinding(); + + // mod dependencies if (ReflectionHandler.instance.optifinePresent()) { ModAccessorHandler.bind(IOptifineAccessor.class, new OptifineAccessor()); } + + ModAccessorHandler.finishBinding(); } diff --git a/forge/src/main/java/com/seibel/lod/forge/wrappers/ForgeDependencySetup.java b/forge/src/main/java/com/seibel/lod/forge/wrappers/ForgeDependencySetup.java index bf9a563f5..d5ae27a40 100644 --- a/forge/src/main/java/com/seibel/lod/forge/wrappers/ForgeDependencySetup.java +++ b/forge/src/main/java/com/seibel/lod/forge/wrappers/ForgeDependencySetup.java @@ -3,21 +3,29 @@ package com.seibel.lod.forge.wrappers; import com.seibel.lod.common.wrappers.config.LodConfigWrapperSingleton; import com.seibel.lod.core.handlers.dependencyInjection.SingletonHandler; import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton; +import com.seibel.lod.core.wrapperInterfaces.modAccessor.IModChecker; +import com.seibel.lod.forge.wrappers.modAccessor.ModChecker; /** - * Binds all necessary dependencies, so we + * Binds all necessary dependencies so we * can access them in Core.
* This needs to be called before any Core classes * are loaded. * * @author James Seibel * @author Ran - * @version 12-1-2021 + * @version 3-5-2022 */ public class ForgeDependencySetup { public static void createInitialBindings() { SingletonHandler.bind(ILodConfigWrapperSingleton.class, LodConfigWrapperSingleton.INSTANCE); + SingletonHandler.bind(IModChecker.class, ModChecker.INSTANCE); + } + + public static void finishBinding() + { + SingletonHandler.finishBinding(); } }