|
25 | 25 |
|
26 | 26 | package org.visuals.legacy.animatium.mixins.v1.entity.cape_movement; |
27 | 27 |
|
| 28 | +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; |
28 | 29 | import com.llamalad7.mixinextras.injector.wrapoperation.Operation; |
29 | 30 | import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; |
30 | 31 | import net.minecraft.client.entity.ClientAvatarEntity; |
|
36 | 37 | import net.minecraft.client.renderer.entity.state.AvatarRenderState; |
37 | 38 | import net.minecraft.util.Mth; |
38 | 39 | import net.minecraft.world.entity.Avatar; |
| 40 | +import org.objectweb.asm.Opcodes; |
39 | 41 | import org.spongepowered.asm.mixin.Mixin; |
40 | 42 | import org.spongepowered.asm.mixin.injection.At; |
41 | 43 | import org.spongepowered.asm.mixin.injection.ModifyArg; |
@@ -66,21 +68,13 @@ public MixinAvatarRenderer_CapeRotation(EntityRendererProvider.Context context, |
66 | 68 | } |
67 | 69 | } |
68 | 70 |
|
69 | | - @WrapOperation(method = "extractCapeState", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;clamp(FFF)F", ordinal = 1)) |
70 | | - private static float animatium$dontAssignLeanField(final float value, final float min, final float max, final Operation<Float> original) { |
71 | | - if (Animatium.isEnabled() && AnimatiumConfig.instance().movement.capeMovement) { |
72 | | - return value; |
73 | | - } else { |
74 | | - return original.call(value, min, max); |
75 | | - } |
| 71 | + @WrapWithCondition(method = "extractCapeState", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;capeLean:F", ordinal = 1, opcode = Opcodes.PUTFIELD)) |
| 72 | + private static boolean animatium$dontAssignLeanField(AvatarRenderState instance, float value) { |
| 73 | + return !Animatium.isEnabled() || !AnimatiumConfig.instance().movement.capeMovement; |
76 | 74 | } |
77 | 75 |
|
78 | | - @WrapOperation(method = "extractCapeState", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;clamp(FFF)F", ordinal = 2)) |
79 | | - private static float animatium$dontAssignLean2Field(final float value, final float min, final float max, final Operation<Float> original) { |
80 | | - if (Animatium.isEnabled() && AnimatiumConfig.instance().movement.capeMovement) { |
81 | | - return value; |
82 | | - } else { |
83 | | - return original.call(value, min, max); |
84 | | - } |
| 76 | + @WrapWithCondition(method = "extractCapeState", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;capeLean2:F", ordinal = 1, opcode = Opcodes.PUTFIELD)) |
| 77 | + private static boolean animatium$dontAssignLean2Field(AvatarRenderState instance, float value) { |
| 78 | + return !Animatium.isEnabled() || !AnimatiumConfig.instance().movement.capeMovement; |
85 | 79 | } |
86 | 80 | } |
0 commit comments