From 8466b3f21a1cbc0fc016468aaa86ae378c5adff1 Mon Sep 17 00:00:00 2001 From: Suel_ki <116934864+Suel-ki@users.noreply.github.com> Date: Mon, 17 Jul 2023 16:44:14 +0800 Subject: [PATCH] Fix ConfigScreen registration --- .../forge/MidnightLibClientEvents.java | 59 ++++++++++--------- .../midnightdust/forge/MidnightLibForge.java | 45 ++++++-------- 2 files changed, 49 insertions(+), 55 deletions(-) diff --git a/forge/src/main/java/eu/midnightdust/forge/MidnightLibClientEvents.java b/forge/src/main/java/eu/midnightdust/forge/MidnightLibClientEvents.java index 92b6a24..c21b2c7 100644 --- a/forge/src/main/java/eu/midnightdust/forge/MidnightLibClientEvents.java +++ b/forge/src/main/java/eu/midnightdust/forge/MidnightLibClientEvents.java @@ -1,29 +1,30 @@ -package eu.midnightdust.forge; - -import eu.midnightdust.lib.config.MidnightConfig; -import eu.midnightdust.lib.util.MidnightColorUtil; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.ConfigScreenHandler; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.ModList; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent; - -@Mod.EventBusSubscriber(modid = "midnightlib", bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) -public class MidnightLibClientEvents { - @SubscribeEvent - public void registerClientTick(TickEvent.ClientTickEvent event) { - MidnightColorUtil.tick(); - } - @SubscribeEvent - public void onPostInit(FMLLoadCompleteEvent event) { - ModList.get().applyForEachModContainer(modContainer -> { - if (MidnightConfig.configClass.containsKey(modContainer.getModId())) { - modContainer.registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> - new ConfigScreenHandler.ConfigScreenFactory((client, parent) -> MidnightConfig.getScreen(parent, modContainer.getModId()))); - } - return true; - }); - } -} +package eu.midnightdust.forge; + +import eu.midnightdust.lib.config.MidnightConfig; +import eu.midnightdust.lib.util.MidnightColorUtil; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.client.ConfigScreenHandler; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.TickEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.ModList; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; + +@Mod.EventBusSubscriber(modid = "midnightlib", bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) +public class MidnightLibClientEvents { + public static void registerClientTick(TickEvent.ClientTickEvent event) { + MidnightColorUtil.tick(); + } + + @SubscribeEvent + public static void onPostInit(FMLClientSetupEvent event) { + MinecraftForge.EVENT_BUS.addListener(MidnightLibClientEvents::registerClientTick); + ModList.get().forEachModContainer((modid, modContainer) -> { + if (MidnightConfig.configClass.containsKey(modid)) { + modContainer.registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> + new ConfigScreenHandler.ConfigScreenFactory((client, parent) -> MidnightConfig.getScreen(parent, modid))); + } + }); + } +} diff --git a/forge/src/main/java/eu/midnightdust/forge/MidnightLibForge.java b/forge/src/main/java/eu/midnightdust/forge/MidnightLibForge.java index 1d0afda..122d6ec 100644 --- a/forge/src/main/java/eu/midnightdust/forge/MidnightLibForge.java +++ b/forge/src/main/java/eu/midnightdust/forge/MidnightLibForge.java @@ -1,26 +1,19 @@ -package eu.midnightdust.forge; - -import eu.midnightdust.core.MidnightLibClient; -import eu.midnightdust.core.MidnightLibServer; -import eu.midnightdust.lib.config.MidnightConfig; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.ConfigScreenHandler; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.IExtensionPoint; -import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.network.NetworkConstants; - -@Mod("midnightlib") -public class MidnightLibForge { - public MidnightLibForge() { - ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, () -> new IExtensionPoint.DisplayTest(() -> NetworkConstants.IGNORESERVERONLY, (remote, server) -> true)); - DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> MidnightLibClient::onInitializeClient); - DistExecutor.safeRunWhenOn(Dist.DEDICATED_SERVER, () -> MidnightLibServer::onInitializeServer); - ModLoadingContext.get().registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> - new ConfigScreenHandler.ConfigScreenFactory((client, parent) -> MidnightConfig.getScreen(parent, "midnightlib"))); - MinecraftForge.EVENT_BUS.register(new MidnightLibClientEvents()); - MinecraftForge.EVENT_BUS.register(new MidnightLibServerEvents()); - } -} +package eu.midnightdust.forge; + +import eu.midnightdust.core.MidnightLibClient; +import eu.midnightdust.core.MidnightLibServer; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.fml.DistExecutor; +import net.minecraftforge.fml.IExtensionPoint; +import net.minecraftforge.fml.ModLoadingContext; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.network.NetworkConstants; + +@Mod("midnightlib") +public class MidnightLibForge { + public MidnightLibForge() { + ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, () -> new IExtensionPoint.DisplayTest(() -> NetworkConstants.IGNORESERVERONLY, (remote, server) -> true)); + DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> MidnightLibClient::onInitializeClient); + DistExecutor.safeRunWhenOn(Dist.DEDICATED_SERVER, () -> MidnightLibServer::onInitializeServer); + } +}