From 833f11b4e98afe4c9e0e220af4e75f247e965b54 Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 26 Jun 2019 15:44:15 +0200 Subject: [PATCH] Fixed head position and animation whilst swimming/crawling --- .../client/model/AbstractPonyModel.java | 12 +++++++++--- .../java/com/minelittlepony/client/pony/Pony.java | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java b/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java index 495b69ed..b3d155ca 100644 --- a/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java @@ -207,6 +207,10 @@ public abstract class AbstractPonyModel extends ClientPo headPitch = Math.min(headPitch, (float) (0.5f - Math.toRadians(attributes.motionPitch))); headPitch = Math.max(headPitch, (float) (-1.25f - Math.toRadians(attributes.motionPitch))); + if (attributes.isSwimming) { + headPitch += 0.9F; + } + head.pitch = headPitch; } @@ -258,10 +262,12 @@ public abstract class AbstractPonyModel extends ClientPo */ protected void rotateLegsSwimming(float move, float swing, float ticks, T entity) { - float legLeft = (ROTATE_90 + MathHelper.sin((move / 3) + 2 * PI/3) / 2) * (float)attributes.motionLerp; + float lerp = entity.isSwimming() ? (float)attributes.motionLerp : 1; - float left = (ROTATE_90 + MathHelper.sin((move / 3) + 2 * PI) / 2) * (float)attributes.motionLerp; - float right = (ROTATE_90 + MathHelper.sin(move / 3) / 2) * (float)attributes.motionLerp; + float legLeft = (ROTATE_90 + MathHelper.sin((move / 3) + 2 * PI/3) / 2) * lerp; + + float left = (ROTATE_90 + MathHelper.sin((move / 3) + 2 * PI) / 2) * lerp; + float right = (ROTATE_90 + MathHelper.sin(move / 3) / 2) * lerp; leftArm.pitch = -left; leftArm.yaw = -left/2; diff --git a/src/main/java/com/minelittlepony/client/pony/Pony.java b/src/main/java/com/minelittlepony/client/pony/Pony.java index 832631af..ac071c75 100644 --- a/src/main/java/com/minelittlepony/client/pony/Pony.java +++ b/src/main/java/com/minelittlepony/client/pony/Pony.java @@ -152,7 +152,7 @@ public class Pony implements IPony { @Override public boolean isSwimming(LivingEntity entity) { - return entity.isSwimming(); + return entity.isSwimming() || entity.isInSwimmingPose(); } @Override