From 9e97a51f2e6a3216421925b50425063784aecbc6 Mon Sep 17 00:00:00 2001 From: Up Date: Sun, 14 Apr 2024 17:21:00 +0200 Subject: [PATCH] possible mixin fix --- .../cammiescorner/icarus/mixin/EntityMixin.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Common/src/main/java/dev/cammiescorner/icarus/mixin/EntityMixin.java b/Common/src/main/java/dev/cammiescorner/icarus/mixin/EntityMixin.java index a901d95..3a17d2e 100644 --- a/Common/src/main/java/dev/cammiescorner/icarus/mixin/EntityMixin.java +++ b/Common/src/main/java/dev/cammiescorner/icarus/mixin/EntityMixin.java @@ -14,12 +14,21 @@ public abstract class EntityMixin { @Shadow public abstract float getXRot(); - @ModifyExpressionValue(method = "turn", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;clamp(FFF)F")) + @Shadow public float xRotO; + + @ModifyExpressionValue(method = "turn", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;clamp(FFF)F", ordinal = 0)) private float icarus$updateLookDirection(float original) { - var self = (Entity)(Object) this; - if(self instanceof LivingEntity living) { + if(Entity.class.cast(this) instanceof LivingEntity living) { return IcarusHelper.hasWings.test(living) ? Mth.wrapDegrees(this.getXRot()) : original; } return original; } + + @ModifyExpressionValue(method = "turn", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;clamp(FFF)F", ordinal = 1)) + private float icarus$updateLookDirection0(float original) { + if (Entity.class.cast(this) instanceof LivingEntity living) { + return IcarusHelper.hasWings.test(living) ? Mth.wrapDegrees(this.xRotO) : original; + } + return original; + } }