diff --git a/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelBakeEvent.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelBakeEvent.java index 0e732882..96f67954 100644 --- a/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelBakeEvent.java +++ b/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelBakeEvent.java @@ -15,7 +15,7 @@ import net.minecraftforge.fml.event.IModBusEvent; * Note that this event can fire many times for the same resource location, as models are unloaded * if unused/under memory pressure. */ -public class DynamicModelBakeEvent extends Event implements IModBusEvent { +public class DynamicModelBakeEvent extends Event { private final ResourceLocation location; private BakedModel model; private final UnbakedModel unbakedModel; diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java index 6461fb26..ad58d5d7 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -300,7 +300,7 @@ public abstract class ModelBakeryMixin { ibakedmodel = iunbakedmodel.bake((ModelBakery) (Object) this, textureGetter, arg2, arg); } DynamicModelBakeEvent event = new DynamicModelBakeEvent(arg, iunbakedmodel, ibakedmodel, (ModelBakery)(Object)this); - ModLoader.get().postEvent(event); + MinecraftForge.EVENT_BUS.post(event); this.bakedCache.put(triple, event.getModel()); return event.getModel(); } diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java index f8ff1139..079575ef 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java @@ -42,7 +42,7 @@ public abstract class CTMPackReloadListenerMixin { @Inject(method = "", at = @At("RETURN")) private void onInit(CallbackInfo ci) { - FMLJavaModLoadingContext.get().getModEventBus().addListener(EventPriority.LOW, this::onModelBake); + MinecraftForge.EVENT_BUS.addListener(EventPriority.LOW, this::onModelBake); } @Overwrite(remap = false) diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java index 14054419..f00a5b91 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java @@ -7,11 +7,15 @@ import net.minecraft.client.resources.model.Material; import net.minecraft.client.resources.model.ModelBakery; import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.SubscribeEvent; import org.embeddedt.modernfix.dynamicresources.DynamicModelBakeEvent; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import team.chisel.ctm.CTM; import team.chisel.ctm.client.model.AbstractCTMBakedModel; import team.chisel.ctm.client.texture.IMetadataSectionCTM; @@ -27,7 +31,11 @@ public abstract class TextureMetadataHandlerMixin { @Shadow @Nonnull protected abstract BakedModel wrap(ResourceLocation loc, UnbakedModel model, BakedModel object, ModelBakery loader) throws IOException; - @SubscribeEvent + @Inject(method = "", at = @At("RETURN")) + private void subscribeDynamic(CallbackInfo ci) { + MinecraftForge.EVENT_BUS.addListener(this::onDynamicModelBake); + } + public void onDynamicModelBake(DynamicModelBakeEvent event) { UnbakedModel rootModel = event.getUnbakedModel(); BakedModel baked = event.getModel(); diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java index 807f91a2..2e400c99 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java @@ -5,6 +5,7 @@ import com.supermartijn642.core.util.Pair; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.embeddedt.modernfix.dynamicresources.DynamicModelBakeEvent; @@ -44,7 +45,7 @@ public class ClientRegistrationHandlerMixin { @Inject(method = "", at = @At("RETURN")) private void registerDynBake(String modid, CallbackInfo ci) { - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onDynamicModelBake); + MinecraftForge.EVENT_BUS.addListener(this::onDynamicModelBake); } @SubscribeEvent