1818
1919package gg .skytils .skytilsmod .mixins .transformers .renderer ;
2020
21+ import com .llamalad7 .mixinextras .injector .wrapmethod .WrapMethod ;
22+ import com .llamalad7 .mixinextras .injector .wrapoperation .Operation ;
2123import gg .skytils .skytilsmod .Skytils ;
2224import gg .skytils .skytilsmod .core .Config ;
25+ import gg .skytils .skytilsmod .mixins .extensions .ExtensionEntityRenderState ;
2326import gg .skytils .skytilsmod .mixins .hooks .renderer .LayerArmorBaseHookKt ;
2427import gg .skytils .skytilsmod .utils .Utils ;
28+ import net .minecraft .client .render .VertexConsumerProvider ;
2529import net .minecraft .client .render .entity .model .EntityModel ;
2630import com .mojang .blaze3d .systems .RenderSystem ;
2731import net .minecraft .client .render .entity .LivingEntityRenderer ;
2832import net .minecraft .client .render .entity .feature .ArmorFeatureRenderer ;
2933import net .minecraft .class_995 ;
34+ import net .minecraft .client .render .entity .state .BipedEntityRenderState ;
35+ import net .minecraft .client .util .math .MatrixStack ;
3036import net .minecraft .entity .LivingEntity ;
3137import org .spongepowered .asm .mixin .*;
3238import org .spongepowered .asm .mixin .injection .At ;
@@ -47,10 +53,11 @@ public abstract class MixinLayerArmorBase<T extends EntityModel> implements clas
4753 @ Unique
4854 private boolean modifiedAlpha = false ;
4955
50- @ Inject (method = "method_4199" , at = @ At ("HEAD" ), cancellable = true )
51- private void onRenderAllArmor (LivingEntity entitylivingbaseIn , float p_177141_2_ , float p_177141_3_ , float partialTicks , float p_177141_5_ , float p_177141_6_ , float p_177141_7_ , float scale , CallbackInfo ci ) {
52- if (Config .INSTANCE .getTransparentArmorLayer () == 0 && Utils .INSTANCE .getInSkyblock () && entitylivingbaseIn == Skytils .getMc ().player )
53- ci .cancel ();
56+ @ WrapMethod (method = "render(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;ILnet/minecraft/client/render/entity/state/BipedEntityRenderState;FF)V" )
57+ private void onRenderAllArmor (MatrixStack matrixStack , VertexConsumerProvider vertexConsumerProvider , int i , BipedEntityRenderState bipedEntityRenderState , float f , float g , Operation <Void > original ) {
58+ if (Config .INSTANCE .getTransparentArmorLayer () != 0 || !Utils .INSTANCE .getInSkyblock () || ((ExtensionEntityRenderState ) bipedEntityRenderState ).getSkytilsEntity () != Skytils .getMc ().player ) {
59+ original .call (matrixStack , vertexConsumerProvider , i , bipedEntityRenderState , f , g );
60+ }
5461 }
5562
5663 @ Inject (method = "renderArmor" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/item/ArmorItem;method_0_8149(Lnet/minecraft/item/ItemStack;)I" ))
0 commit comments