1717
1818package com .lambda .mixin .render ;
1919
20+ import com .lambda .Lambda ;
2021import com .lambda .interaction .request .rotating .RotationManager ;
21- import com .llamalad7 .mixinextras .injector .ModifyExpressionValue ;
22+ import com .llamalad7 .mixinextras .injector .wrapoperation .Operation ;
23+ import com .llamalad7 .mixinextras .injector .wrapoperation .WrapOperation ;
2224import net .minecraft .client .render .entity .LivingEntityRenderer ;
25+ import net .minecraft .entity .LivingEntity ;
2326import org .spongepowered .asm .mixin .Mixin ;
2427import org .spongepowered .asm .mixin .injection .At ;
2528
@@ -44,8 +47,10 @@ public class LivingEntityRendererMixin {
4447 * }
4548 * }</pre>
4649 */
47- @ ModifyExpressionValue (method = "updateRenderState(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/client/render/entity/state/LivingEntityRenderState;F)V" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/entity/LivingEntity;getLerpedPitch(F)F" ))
48- private float injectRotationPitch (float original ) {
49- return Objects .requireNonNullElse (RotationManager .getHeadPitch (), original );
50+ @ WrapOperation (method = "updateRenderState(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/client/render/entity/state/LivingEntityRenderState;F)V" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/entity/LivingEntity;getLerpedPitch(F)F" ))
51+ private float wrapGetLerpedPitch (LivingEntity instance , float v , Operation <Float > original ) {
52+ return (instance == Lambda .getMc ().player )
53+ ? Objects .requireNonNullElse (RotationManager .getHeadPitch (), original .call (instance , v ))
54+ : original .call (instance , v );
5055 }
5156}
0 commit comments