Fix CraterLib events registration order. Some Events fire before they are registered

This commit is contained in:
2022-08-06 23:38:01 +02:00
parent e4415edf46
commit 8fd979e38a
3 changed files with 12 additions and 5 deletions

View File

@@ -16,10 +16,12 @@ import net.minecraft.client.renderer.ItemBlockRenderTypes;
public class ClientRegistration { public class ClientRegistration {
public void registerAll() { 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.BLOCKS.class, this::registerBlockColors);
CraterEventBus.register(ColorRegistrationEvent.ITEMS.class, this::registerItemColors); CraterEventBus.register(ColorRegistrationEvent.ITEMS.class, this::registerItemColors);
Services.CLIENT_HELPER.registerCustomRenderTypes(HLBlocks.BLOCKS.getEntries(), HLItems.ITEMS.getEntries());
} }
public void registerBlockColors(ColorRegistrationEvent.BLOCKS event) { public void registerBlockColors(ColorRegistrationEvent.BLOCKS event) {

View File

@@ -17,7 +17,10 @@ public class HyperLightingFabricClient implements ClientModInitializer {
@Override @Override
public void onInitializeClient() { public void onInitializeClient() {
new ClientRegistration().registerAll(); ClientRegistration registration = new ClientRegistration();
registration.registerEvents();
registration.registerAll();
// TODO: Move to CraterLib as an Event // TODO: Move to CraterLib as an Event
ParticleRegistryHandler.registerParticles(new ParticleRegistryHandler.ParticleStrategy() { ParticleRegistryHandler.registerParticles(new ParticleRegistryHandler.ParticleStrategy() {
@Override @Override

View File

@@ -20,17 +20,19 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@Mod(Constants.MOD_ID) @Mod(Constants.MOD_ID)
public class HyperLightingForge { public class HyperLightingForge {
private ClientRegistration registration = new ClientRegistration();
public HyperLightingForge() { public HyperLightingForge() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientInit); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientInit);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonInit); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonInit);
CommonRegistration.registerAll(); CommonRegistration.registerAll();
ForgeWorldGen.registerAll(FMLJavaModLoadingContext.get().getModEventBus()); ForgeWorldGen.registerAll(FMLJavaModLoadingContext.get().getModEventBus());
registration.registerEvents();
} }
public void clientInit(FMLClientSetupEvent event) { public void clientInit(FMLClientSetupEvent event) {
new ClientRegistration().registerAll(); registration.registerAll();
ModLoadingContext.get().registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> new ConfigScreenHandler.ConfigScreenFactory((mc, screen) -> new CraterConfigScreen(CommonRegistration.config, screen)));
EntityRenderers.register(HLEntities.NEONFLY.get(), NeonFlyRenderer::new); EntityRenderers.register(HLEntities.NEONFLY.get(), NeonFlyRenderer::new);
} }