1616import org .spongepowered .asm .mixin .Mixin ;
1717import org .spongepowered .asm .mixin .injection .At ;
1818import org .spongepowered .asm .mixin .injection .Inject ;
19- import org .spongepowered .asm .mixin .injection .ModifyVariable ;
19+ import org .spongepowered .asm .mixin .injection .ModifyArg ;
2020import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
2121
2222@ Mixin (value = ItemRenderer .class , priority = 600 )
2323public abstract class ItemRendererMixin {
2424 private ItemTransforms .TransformType transformType ;
2525 private final SimpleItemModelView modelView = new SimpleItemModelView ();
26- private boolean mfix$isTopLevelSimpleModel ;
2726
2827 @ Inject (method = "render" , at = @ At ("HEAD" ))
2928 private void markRenderingType (ItemStack itemStack , ItemTransforms .TransformType transformType , boolean leftHand , PoseStack matrixStack , MultiBufferSource buffer , int combinedLight , int combinedOverlay , BakedModel model , CallbackInfo ci ) {
3029 this .transformType = transformType ;
31- // used as renderModelLists may be called by custom model renderers
32- this .mfix$isTopLevelSimpleModel = model != null && model .getClass () == SimpleBakedModel .class ;
3330 }
3431
3532 /**
@@ -40,9 +37,9 @@ private void markRenderingType(ItemStack itemStack, ItemTransforms.TransformType
4037 * we do not need to go through the process of rendering every quad. Just render the south ones (the ones facing the
4138 * camera).
4239 */
43- @ ModifyVariable (method = "renderModelLists " , at = @ At ("HEAD" ), index = 1 , argsOnly = true )
44- private BakedModel useSimpleWrappedItemModel (BakedModel model , BakedModel arg , ItemStack stack , int combinedLight , int combinedOverlay , PoseStack matrixStack , VertexConsumer buffer ) {
45- if (!RenderState .IS_RENDERING_LEVEL && !stack .isEmpty () && mfix$isTopLevelSimpleModel && model .getClass () == SimpleBakedModel .class && transformType == ItemTransforms .TransformType .GUI ) {
40+ @ ModifyArg (method = "render " , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/client/renderer/entity/ItemRenderer;renderModelLists(Lnet/minecraft/client/resources/model/BakedModel;Lnet/minecraft/world/item/ItemStack;IILcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V" ), index = 0 )
41+ private BakedModel useSimpleWrappedItemModel (BakedModel model , ItemStack stack , int combinedLight , int combinedOverlay , PoseStack matrixStack , VertexConsumer buffer ) {
42+ if (!RenderState .IS_RENDERING_LEVEL && !stack .isEmpty () && model .getClass () == SimpleBakedModel .class && transformType == ItemTransforms .TransformType .GUI ) {
4643 FastItemRenderType type ;
4744 ItemTransform transform = model .getTransforms ().gui ;
4845 if (transform == ItemTransform .NO_TRANSFORM )
0 commit comments