From 58c420d35f9118560f384d2a58489092c4b15c31 Mon Sep 17 00:00:00 2001 From: Draylar <17728338+Draylar@users.noreply.github.com> Date: Mon, 20 Dec 2021 17:52:54 -0600 Subject: [PATCH] add null check for modid when registering modmenu screens --- .../java/draylar/omegaconfiggui/OmegaConfigGui.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/omega-config-gui/src/main/java/draylar/omegaconfiggui/OmegaConfigGui.java b/omega-config-gui/src/main/java/draylar/omegaconfiggui/OmegaConfigGui.java index 936a175..fd829a1 100644 --- a/omega-config-gui/src/main/java/draylar/omegaconfiggui/OmegaConfigGui.java +++ b/omega-config-gui/src/main/java/draylar/omegaconfiggui/OmegaConfigGui.java @@ -30,12 +30,17 @@ public class OmegaConfigGui { */ public static void registerConfigScreen(T config) { if(FabricLoader.getInstance().isModLoaded("modmenu")) { - OmegaScreenFactory factory = OmegaConfigGui.getConfigScreenFactory(config); + // Ensure the config has a valid modid. + if(config.getModid() != null) { + OmegaScreenFactory factory = OmegaConfigGui.getConfigScreenFactory(config); - if(modMenuInitialized) { - OmegaModMenu.injectScreen(config, factory); + if(modMenuInitialized) { + OmegaModMenu.injectScreen(config, factory); + } else { + REGISTERED_CONFIGURATIONS.put(config, factory); + } } else { - REGISTERED_CONFIGURATIONS.put(config, factory); + OmegaConfig.LOGGER.warn(String.format("Skipping config screen registration for '%s' - you must implement getModid() in your config class!", config.getName())); } } }