Skip to content

Commit f5c936a

Browse files
committed
Temporarily remove heldItemArmLogic for now
1 parent caff21e commit f5c936a

File tree

3 files changed

+50
-56
lines changed

3 files changed

+50
-56
lines changed

src/main/java/org/visuals/legacy/animatium/config/category/OtherConfigCategory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public class OtherConfigCategory extends Category {
5353
public boolean modernCombatSounds = true;
5454
public boolean modernCombatParticles = true; // TODO/NOTE: Fix, it's broken on servers
5555
public boolean restoreParticleBlending = true;
56-
public boolean heldItemArmLogic = true;
56+
// public boolean heldItemArmLogic = true;
5757
public boolean flameDimensions = true;
5858
public boolean flameOffset = true;
5959
public boolean persistentBlockOutline = false;

src/main/java/org/visuals/legacy/animatium/mixins/v1/entity/cape_movement/MixinAvatarRenderer.java

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,15 @@
2828
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
2929
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
3030
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
31-
import com.llamalad7.mixinextras.sugar.Local;
32-
import com.mojang.blaze3d.vertex.PoseStack;
3331
import net.minecraft.client.entity.ClientAvatarEntity;
3432
import net.minecraft.client.model.PlayerModel;
3533
import net.minecraft.client.model.geom.ModelLayers;
36-
import net.minecraft.client.model.geom.ModelPart;
37-
import net.minecraft.client.renderer.SubmitNodeCollector;
3834
import net.minecraft.client.renderer.entity.EntityRendererProvider;
3935
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
4036
import net.minecraft.client.renderer.entity.player.AvatarRenderer;
4137
import net.minecraft.client.renderer.entity.state.AvatarRenderState;
42-
import net.minecraft.resources.ResourceLocation;
4338
import net.minecraft.util.Mth;
4439
import net.minecraft.world.entity.Avatar;
45-
import net.minecraft.world.entity.HumanoidArm;
4640
import org.jetbrains.annotations.Nullable;
4741
import org.objectweb.asm.Opcodes;
4842
import org.spongepowered.asm.mixin.Mixin;
@@ -56,68 +50,68 @@
5650

5751
@Mixin(AvatarRenderer.class)
5852
public abstract class MixinAvatarRenderer<AvatarLikeEntity extends Avatar & ClientAvatarEntity> extends LivingEntityRenderer<AvatarLikeEntity, AvatarRenderState, PlayerModel> {
59-
// TODO/MOVE
60-
@Unique
61-
private final ThreadLocal<@Nullable AvatarRenderState> animatium$renderState = ThreadLocal.withInitial(() -> null);
53+
// TODO/MOVE
54+
@Unique
55+
private final ThreadLocal<@Nullable AvatarRenderState> animatium$renderState = ThreadLocal.withInitial(() -> null);
6256

63-
public MixinAvatarRenderer(EntityRendererProvider.Context context, boolean slim) {
64-
super(context, new PlayerModel(context.bakeLayer(slim ? ModelLayers.PLAYER_SLIM : ModelLayers.PLAYER), slim), 0.5F);
65-
}
57+
public MixinAvatarRenderer(EntityRendererProvider.Context context, boolean slim) {
58+
super(context, new PlayerModel(context.bakeLayer(slim ? ModelLayers.PLAYER_SLIM : ModelLayers.PLAYER), slim), 0.5F);
59+
}
6660

67-
@WrapOperation(method = "extractCapeState", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;rotLerp(FFF)F"))
68-
private static float animatium$changeLerpMethod(float delta, float start, float end, Operation<Float> original) {
69-
if (Animatium.isEnabled() && AnimatiumConfig.instance().movement.capeMovement) {
70-
return Mth.lerp(delta, start, end);
71-
} else {
72-
return original.call(delta, start, end);
73-
}
74-
}
61+
@WrapOperation(method = "extractCapeState", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;rotLerp(FFF)F"))
62+
private static float animatium$changeLerpMethod(float delta, float start, float end, Operation<Float> original) {
63+
if (Animatium.isEnabled() && AnimatiumConfig.instance().movement.capeMovement) {
64+
return Mth.lerp(delta, start, end);
65+
} else {
66+
return original.call(delta, start, end);
67+
}
68+
}
7569

76-
@ModifyArg(method = "extractCapeState", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;clamp(FFF)F", ordinal = 1), index = 2)
77-
private static float animatium$uncapRotation(float original) {
78-
if (Animatium.isEnabled() && AnimatiumConfig.instance().movement.disableCapeLean) {
79-
return Float.MAX_VALUE;
80-
} else {
81-
return original;
82-
}
83-
}
70+
@ModifyArg(method = "extractCapeState", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;clamp(FFF)F", ordinal = 1), index = 2)
71+
private static float animatium$uncapRotation(float original) {
72+
if (Animatium.isEnabled() && AnimatiumConfig.instance().movement.disableCapeLean) {
73+
return Float.MAX_VALUE;
74+
} else {
75+
return original;
76+
}
77+
}
8478

85-
@WrapWithCondition(method = "extractCapeState", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;capeLean:F", ordinal = 1))
86-
private static boolean animatium$dontAssignLeanField(AvatarRenderState instance, float value) {
87-
return !Animatium.isEnabled() || !AnimatiumConfig.instance().movement.capeMovement;
88-
}
79+
@WrapWithCondition(method = "extractCapeState", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;capeLean:F", ordinal = 1))
80+
private static boolean animatium$dontAssignLeanField(AvatarRenderState instance, float value) {
81+
return !Animatium.isEnabled() || !AnimatiumConfig.instance().movement.capeMovement;
82+
}
8983

90-
@WrapWithCondition(method = "extractCapeState", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;capeLean2:F", ordinal = 1))
91-
private static boolean animatium$dontAssignLean2Field(AvatarRenderState instance, float value) {
92-
return !Animatium.isEnabled() || !AnimatiumConfig.instance().movement.capeMovement;
93-
}
84+
@WrapWithCondition(method = "extractCapeState", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;capeLean2:F", ordinal = 1))
85+
private static boolean animatium$dontAssignLean2Field(AvatarRenderState instance, float value) {
86+
return !Animatium.isEnabled() || !AnimatiumConfig.instance().movement.capeMovement;
87+
}
9488

95-
// TODO/MOVE
96-
@WrapOperation(method = "getRenderOffset(Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;)Lnet/minecraft/world/phys/Vec3;", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;isCrouching:Z"))
97-
private boolean animatium$fixSneakingFeetPosition(AvatarRenderState instance, Operation<Boolean> original) {
98-
if (Animatium.isEnabled() && AnimatiumConfig.instance().fixes.fixSneakingFeetPosition) {
99-
return false;
100-
} else {
101-
return original.call(instance);
102-
}
103-
}
89+
// TODO/MOVE
90+
@WrapOperation(method = "getRenderOffset(Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;)Lnet/minecraft/world/phys/Vec3;", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;isCrouching:Z"))
91+
private boolean animatium$fixSneakingFeetPosition(AvatarRenderState instance, Operation<Boolean> original) {
92+
if (Animatium.isEnabled() && AnimatiumConfig.instance().fixes.fixSneakingFeetPosition) {
93+
return false;
94+
} else {
95+
return original.call(instance);
96+
}
97+
}
10498

105-
@Inject(method = "extractRenderState(Lnet/minecraft/world/entity/Avatar;Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;F)V", at = @At("TAIL"))
106-
private void animatium$storeAvatarState(AvatarLikeEntity avatar, AvatarRenderState avatarRenderState, float f, CallbackInfo ci) {
107-
animatium$renderState.set(avatarRenderState);
108-
}
99+
@Inject(method = "extractRenderState(Lnet/minecraft/world/entity/Avatar;Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;F)V", at = @At("TAIL"))
100+
private void animatium$storeAvatarState(AvatarLikeEntity avatar, AvatarRenderState avatarRenderState, float f, CallbackInfo ci) {
101+
animatium$renderState.set(avatarRenderState);
102+
}
109103

110-
@Inject(method = "renderHand", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/model/geom/ModelPart;visible:Z", ordinal = 2))
104+
// TODO/FIX @Mixces
105+
/*@Inject(method = "renderHand", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/model/geom/ModelPart;visible:Z", ordinal = 2))
111106
private void animatium$heldItemArmLogic(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int i, ResourceLocation resourceLocation, ModelPart modelPart, boolean bl, CallbackInfo ci, @Local PlayerModel playerModel) {
112107
if (Animatium.isEnabled() && AnimatiumConfig.instance().other.heldItemArmLogic) {
113108
final HumanoidArm arm = modelPart == model.rightArm ? HumanoidArm.RIGHT : HumanoidArm.LEFT;
114109
final AvatarRenderState avatarRenderState = animatium$renderState.get();
115-
// TODO/FIX @Mixces
116110
// if (avatarRenderState != null && (avatarRenderState.mainArm == arm ? avatarRenderState.rightArmPose : avatarRenderState.leftArmPose) == HumanoidModel.ArmPose.ITEM) {
117111
// // Adapted from the ITEM arm pose rotations in HumanoidModel#poseRightArm/poseLeftArm
118112
// modelPart.xRot = modelPart.xRot * 0.5F - (float) (Math.PI / 10);
119113
// modelPart.yRot = 0.0F;
120114
// }
121115
}
122-
}
116+
}*/
123117
}

src/main/java/org/visuals/legacy/animatium/util/config/Version.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public enum Version {
130130
other.modernCombatSounds = false;
131131
other.modernCombatParticles = false;
132132
other.restoreParticleBlending = true;
133-
other.heldItemArmLogic = false;
133+
// other.heldItemArmLogic = false;
134134
other.flameDimensions = true;
135135
other.flameOffset = true;
136136
other.persistentBlockOutline = true;
@@ -234,7 +234,7 @@ public enum Version {
234234
other.modernCombatSounds = false;
235235
other.modernCombatParticles = false;
236236
other.restoreParticleBlending = true;
237-
other.heldItemArmLogic = true;
237+
// other.heldItemArmLogic = true;
238238
other.flameDimensions = true;
239239
other.flameOffset = false;
240240
other.persistentBlockOutline = false;
@@ -352,7 +352,7 @@ public enum Version {
352352
other.modernCombatSounds = true;
353353
other.modernCombatParticles = true;
354354
other.restoreParticleBlending = false;
355-
other.heldItemArmLogic = false;
355+
// other.heldItemArmLogic = false;
356356
other.flameDimensions = false;
357357
other.flameOffset = false;
358358
other.persistentBlockOutline = false;

0 commit comments

Comments
 (0)