Fixed armor being offset during animations

This commit is contained in:
Luis C.M committed 2024-03-17 01:14:15 -05:00
1 parent befe115e74
commit f7057005d7
1 file changed
+17 -9
@@ -351,8 +351,10 @@ public class ModelMPM extends ModelNPCMale{
Frame frame = animation.frames.get(animation.currentFrame);
if (frame.frameParts.containsKey(EnumAnimationPart.FULL_MODEL)) {
FramePart part = frame.frameParts.get(EnumAnimationPart.FULL_MODEL);
part.interpolateOffset();
part.interpolateAngles();
if (!this.isArmor) {
part.interpolateOffset();
part.interpolateAngles();
}
float pi = 180 / (float) Math.PI;
GL11.glTranslatef(part.prevPivots[0], part.prevPivots[1], part.prevPivots[2]);
GL11.glRotatef(part.prevRotations[0] * pi, 1, 0, 0);
@@ -650,11 +652,13 @@ public class ModelMPM extends ModelNPCMale{
if (part != null) {
if (part.part != EnumAnimationPart.FULL_MODEL) {
ModelRenderer modelRenderer = animPartToModel.get(part.part);
part.interpolateAngles();
if (!this.isArmor) {
part.interpolateAngles();
}
modelRenderer.rotateAngleX = part.prevRotations[0];
modelRenderer.rotateAngleY = part.prevRotations[1];
modelRenderer.rotateAngleZ = part.prevRotations[2];
} else {
} else if (!this.isArmor) {
part.interpolateAngles();
}
}
@@ -665,20 +669,24 @@ public class ModelMPM extends ModelNPCMale{
if (part != null) {
if (part.part != EnumAnimationPart.FULL_MODEL) {
ModelRenderer modelRenderer = animPartToModel.get(part.part);
part.interpolateOffset();
if (!this.isArmor) {
part.interpolateOffset();
}
modelRenderer.rotationPointX += part.prevPivots[0];
modelRenderer.rotationPointY += part.prevPivots[1];
modelRenderer.rotationPointZ += part.prevPivots[2];
} else {
} else if (!this.isArmor) {
part.interpolateOffset();
}
}
}
if (frame.frameParts.containsKey(EnumAnimationPart.FULL_MODEL)) {
if (frame.frameParts.containsKey(EnumAnimationPart.FULL_MODEL) && !this.isArmor) {
FramePart part = frame.frameParts.get(EnumAnimationPart.FULL_MODEL);
part.interpolateOffset();
part.interpolateAngles();
if (!this.isArmor) {
part.interpolateOffset();
part.interpolateAngles();
}
float pi = 180 / (float) Math.PI;
GL11.glTranslatef(part.prevPivots[0],part.prevPivots[1],part.prevPivots[2]);
GL11.glRotatef(part.prevRotations[0] * pi,1,0,0);