diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java index 794757dc..2d155459 100644 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java +++ b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java @@ -1,8 +1,11 @@ package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources; +import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.renderer.block.model.ItemOverride; import net.minecraft.client.renderer.block.model.ItemOverrides; import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; import org.embeddedt.modernfix.dynamicresources.ItemOverrideBakedModel; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -20,11 +23,12 @@ public class ItemOverridesMixin { } @Inject(method = "resolve", at = @At("RETURN"), cancellable = true) - private void getRealModel(CallbackInfoReturnable cir) { + private void getRealModel(BakedModel bakedModel, ItemStack itemStack, ClientLevel clientLevel, LivingEntity livingEntity, CallbackInfoReturnable cir) { BakedModel original = cir.getReturnValue(); if(original instanceof ItemOverrideBakedModel) { ItemOverrideBakedModel override = (ItemOverrideBakedModel)original; - cir.setReturnValue(override.getRealModel()); + BakedModel overrideModel = override.getRealModel(); + cir.setReturnValue(overrideModel != null ? overrideModel : bakedModel); } } }