From 8fd979e38a50c2e5537be63823cc243cf86fcea7 Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Sat, 6 Aug 2022 23:38:01 +0200 Subject: [PATCH] Fix CraterLib events registration order. Some Events fire before they are registered --- .../hyperlighting/client/init/ClientRegistration.java | 6 ++++-- .../hyperlighting/client/HyperLightingFabricClient.java | 5 ++++- .../me/hypherionmc/hyperlighting/HyperLightingForge.java | 6 ++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java b/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java index 0ca48ee..41c3cc9 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java @@ -16,10 +16,12 @@ import net.minecraft.client.renderer.ItemBlockRenderTypes; public class ClientRegistration { public void registerAll() { + Services.CLIENT_HELPER.registerCustomRenderTypes(HLBlocks.BLOCKS.getEntries(), HLItems.ITEMS.getEntries()); + } + + public void registerEvents() { CraterEventBus.register(ColorRegistrationEvent.BLOCKS.class, this::registerBlockColors); CraterEventBus.register(ColorRegistrationEvent.ITEMS.class, this::registerItemColors); - - Services.CLIENT_HELPER.registerCustomRenderTypes(HLBlocks.BLOCKS.getEntries(), HLItems.ITEMS.getEntries()); } public void registerBlockColors(ColorRegistrationEvent.BLOCKS event) { diff --git a/Fabric/src/main/java/me/hypherionmc/hyperlighting/client/HyperLightingFabricClient.java b/Fabric/src/main/java/me/hypherionmc/hyperlighting/client/HyperLightingFabricClient.java index 268453f..106098d 100644 --- a/Fabric/src/main/java/me/hypherionmc/hyperlighting/client/HyperLightingFabricClient.java +++ b/Fabric/src/main/java/me/hypherionmc/hyperlighting/client/HyperLightingFabricClient.java @@ -17,7 +17,10 @@ public class HyperLightingFabricClient implements ClientModInitializer { @Override public void onInitializeClient() { - new ClientRegistration().registerAll(); + ClientRegistration registration = new ClientRegistration(); + registration.registerEvents(); + registration.registerAll(); + // TODO: Move to CraterLib as an Event ParticleRegistryHandler.registerParticles(new ParticleRegistryHandler.ParticleStrategy() { @Override diff --git a/Forge/src/main/java/me/hypherionmc/hyperlighting/HyperLightingForge.java b/Forge/src/main/java/me/hypherionmc/hyperlighting/HyperLightingForge.java index 9fbfe3f..6d92d57 100644 --- a/Forge/src/main/java/me/hypherionmc/hyperlighting/HyperLightingForge.java +++ b/Forge/src/main/java/me/hypherionmc/hyperlighting/HyperLightingForge.java @@ -20,17 +20,19 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; @Mod(Constants.MOD_ID) public class HyperLightingForge { + private ClientRegistration registration = new ClientRegistration(); + public HyperLightingForge() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientInit); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonInit); CommonRegistration.registerAll(); ForgeWorldGen.registerAll(FMLJavaModLoadingContext.get().getModEventBus()); + registration.registerEvents(); } public void clientInit(FMLClientSetupEvent event) { - new ClientRegistration().registerAll(); - ModLoadingContext.get().registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> new ConfigScreenHandler.ConfigScreenFactory((mc, screen) -> new CraterConfigScreen(CommonRegistration.config, screen))); + registration.registerAll(); EntityRenderers.register(HLEntities.NEONFLY.get(), NeonFlyRenderer::new); }