Merge pull request #37 from Suel-ki/architectury

Fix forge initialization
This commit is contained in:
Martin Prokoph
2023-09-09 11:33:15 +02:00
committed by GitHub
3 changed files with 51 additions and 57 deletions

View File

@@ -1,29 +1,30 @@
package eu.midnightdust.forge; package eu.midnightdust.forge;
import eu.midnightdust.lib.config.MidnightConfig; import eu.midnightdust.lib.config.MidnightConfig;
import eu.midnightdust.lib.util.MidnightColorUtil; import eu.midnightdust.lib.util.MidnightColorUtil;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.ConfigScreenHandler; import net.minecraftforge.client.ConfigScreenHandler;
import net.minecraftforge.event.TickEvent; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.event.TickEvent;
import net.minecraftforge.fml.ModList; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent; 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 { @Mod.EventBusSubscriber(modid = "midnightlib", bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
@SubscribeEvent public class MidnightLibClientEvents {
public void registerClientTick(TickEvent.ClientTickEvent event) { public static void registerClientTick(TickEvent.ClientTickEvent event) {
MidnightColorUtil.tick(); MidnightColorUtil.tick();
} }
@SubscribeEvent
public void onPostInit(FMLLoadCompleteEvent event) { @SubscribeEvent
ModList.get().applyForEachModContainer(modContainer -> { public static void onPostInit(FMLClientSetupEvent event) {
if (MidnightConfig.configClass.containsKey(modContainer.getModId())) { MinecraftForge.EVENT_BUS.addListener(MidnightLibClientEvents::registerClientTick);
modContainer.registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> ModList.get().forEachModContainer((modid, modContainer) -> {
new ConfigScreenHandler.ConfigScreenFactory((client, parent) -> MidnightConfig.getScreen(parent, modContainer.getModId()))); if (MidnightConfig.configClass.containsKey(modid)) {
} modContainer.registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () ->
return true; new ConfigScreenHandler.ConfigScreenFactory((client, parent) -> MidnightConfig.getScreen(parent, modid)));
}); }
} });
} }
}

View File

@@ -1,26 +1,19 @@
package eu.midnightdust.forge; package eu.midnightdust.forge;
import eu.midnightdust.core.MidnightLibClient; import eu.midnightdust.core.MidnightLibClient;
import eu.midnightdust.core.MidnightLibServer; import eu.midnightdust.core.MidnightLibServer;
import eu.midnightdust.lib.config.MidnightConfig; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.client.ConfigScreenHandler; import net.minecraftforge.fml.IExtensionPoint;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.IExtensionPoint; import net.minecraftforge.network.NetworkConstants;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod; @Mod("midnightlib")
import net.minecraftforge.network.NetworkConstants; public class MidnightLibForge {
public MidnightLibForge() {
@Mod("midnightlib") ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, () -> new IExtensionPoint.DisplayTest(() -> NetworkConstants.IGNORESERVERONLY, (remote, server) -> true));
public class MidnightLibForge { DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> MidnightLibClient::onInitializeClient);
public MidnightLibForge() { DistExecutor.safeRunWhenOn(Dist.DEDICATED_SERVER, () -> MidnightLibServer::onInitializeServer);
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());
}
}

View File

@@ -8,10 +8,10 @@ import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(modid = "midnightlib", bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.DEDICATED_SERVER) @Mod.EventBusSubscriber(modid = "midnightlib", value = Dist.DEDICATED_SERVER)
public class MidnightLibServerEvents { public class MidnightLibServerEvents {
@SubscribeEvent @SubscribeEvent
public void registerCommands(RegisterCommandsEvent event) { public static void registerCommands(RegisterCommandsEvent event) {
for (LiteralArgumentBuilder<ServerCommandSource> command : AutoCommand.commands){ for (LiteralArgumentBuilder<ServerCommandSource> command : AutoCommand.commands){
event.getDispatcher().register(command); event.getDispatcher().register(command);
} }