From b42bd39ec4ae3c331564789e2725911d628cf313 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 9 Oct 2026 15:33:38 +0000 Subject: [PATCH] Fix Forge configurable type actions not always being set ConfigurableTypesForge.load() was only called from CyclopsCoreForge's config registration. Since Forge constructs mods in parallel, dependent mods could register their configs before this ran, causing them to use the default actions. For GUIs, this meant menu types were not wrapped in an IContainerFactory, so the client received a null buffer when opening a menu with extra data. Closes CyclopsMC/EverlastingAbilities#329 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01YMNuC5qun9MuBrCbBBhDBh --- .../main/java/org/cyclops/cyclopscore/CyclopsCoreForge.java | 3 --- .../main/java/org/cyclops/cyclopscore/init/ModBaseForge.java | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/loader-forge/src/main/java/org/cyclops/cyclopscore/CyclopsCoreForge.java b/loader-forge/src/main/java/org/cyclops/cyclopscore/CyclopsCoreForge.java index 98c99af3cc8..8bf865bc52e 100644 --- a/loader-forge/src/main/java/org/cyclops/cyclopscore/CyclopsCoreForge.java +++ b/loader-forge/src/main/java/org/cyclops/cyclopscore/CyclopsCoreForge.java @@ -23,7 +23,6 @@ import org.cyclops.cyclopscore.component.DataComponentCapacityConfig; import org.cyclops.cyclopscore.component.DataComponentEnergyStorageConfig; import org.cyclops.cyclopscore.config.ConfigHandlerCommon; -import org.cyclops.cyclopscore.config.ConfigurableTypesForge; import org.cyclops.cyclopscore.config.DeferredHolderCommon; import org.cyclops.cyclopscore.gametest.DeferredHolderCommonTest; import org.cyclops.cyclopscore.gametest.MethodGameTestInstanceConfig; @@ -119,8 +118,6 @@ protected LiteralArgumentBuilder constructBaseCommand(Comman @Override protected void onConfigsRegister(ConfigHandlerCommon configHandler) { - ConfigurableTypesForge.load(); - super.onConfigsRegister(configHandler); configHandler.addConfigurable(new GeneralConfig(this)); diff --git a/loader-forge/src/main/java/org/cyclops/cyclopscore/init/ModBaseForge.java b/loader-forge/src/main/java/org/cyclops/cyclopscore/init/ModBaseForge.java index 6dfccab6205..e4d4f2aa1f6 100644 --- a/loader-forge/src/main/java/org/cyclops/cyclopscore/init/ModBaseForge.java +++ b/loader-forge/src/main/java/org/cyclops/cyclopscore/init/ModBaseForge.java @@ -15,6 +15,7 @@ import org.apache.logging.log4j.Level; import org.cyclops.cyclopscore.config.ConfigHandlerCommon; import org.cyclops.cyclopscore.config.ConfigHandlerForge; +import org.cyclops.cyclopscore.config.ConfigurableTypesForge; import org.cyclops.cyclopscore.event.RegisterGameTestsForgeEvent; import org.cyclops.cyclopscore.gametest.GameTestLoaderHelpers; import org.cyclops.cyclopscore.helper.IModHelpersForge; @@ -33,6 +34,10 @@ */ public abstract class ModBaseForge> extends ModBaseCommon { + static { + ConfigurableTypesForge.load(); + } + private final ICommonProxyCommon proxy; private final ConfigHandlerCommon configHandler; private final FMLJavaModLoadingContext modLoadingContext;