From e4ef3103cc62a2e96fb9d8480940c42b4a31c740 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sat, 29 Apr 2023 09:17:41 -0400 Subject: [PATCH] Fix CTM crash --- .../dynamic_resources/ctm/TextureMetadataHandlerMixin.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 dd15d1bb..67ad067d 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 @@ -15,6 +15,7 @@ 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.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import team.chisel.ctm.CTM; import team.chisel.ctm.client.model.AbstractCTMBakedModel; @@ -36,6 +37,11 @@ public abstract class TextureMetadataHandlerMixin { MinecraftForge.EVENT_BUS.addListener(this::onDynamicModelBake); } + @Redirect(method = "onModelBake", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/model/BakedModel;isCustomRenderer()Z")) + private boolean checkModelValid(BakedModel model) { + return model == null || model.isCustomRenderer(); + } + public void onDynamicModelBake(DynamicModelBakeEvent event) { UnbakedModel rootModel = event.getUnbakedModel(); BakedModel baked = event.getModel();