diff --git a/build.gradle b/build.gradle index 244b0383..ae51c921 100644 --- a/build.gradle +++ b/build.gradle @@ -86,7 +86,7 @@ processResources { filesMatching("fabric.mod.json") { expand "version": project.version.toString(), - "minecraftVersion": ">=${project.minecraft_version}", + "minecraftVersion": project.minecraft_version_range, "loaderVersion": ">=${project.loader_version}", "fabricVersion": ">=${project.fabric_version}", "kirinVersion": ">=${project.kirin_version}", diff --git a/gradle.properties b/gradle.properties index 8fa9a071..1c2cecca 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,6 +15,7 @@ org.gradle.daemon=false description=Mine Little Pony turns players and mobs into ponies. Press F9 ingame to access settings. # Publishing + minecraft_version_range=>=1.21.3 <1.21.4 modrinth_loader_type=fabric modrinth_project_id=JBjInUXM diff --git a/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java b/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java index 74c8741b..7b1790014 100644 --- a/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java +++ b/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java @@ -28,6 +28,6 @@ abstract class MixinPlayerEntity implements RegistrationHandler { @Inject(method = "tick()V", at = @At("TAIL")) private void onTick(CallbackInfo info) { - syncedPony.synchronize((PlayerEntity)(Object)this); + getSyncedPony().synchronize((PlayerEntity)(Object)this); } } diff --git a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java index 2c7ba52c..08286329 100644 --- a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java +++ b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java @@ -33,7 +33,6 @@ import net.minecraft.item.ModelTransformationMode; import net.minecraft.util.Arm; import net.minecraft.util.Util; import net.minecraft.util.math.Box; -import net.minecraft.util.math.Vec3d; import org.jetbrains.annotations.Nullable; @@ -167,11 +166,7 @@ public class EquineRenderManager< } float eyeHeight = dimensions.eyeHeight() * factor; if (player.hasVehicle()) { - Vec3d attachment = dimensions.attachments().getPointNullable(EntityAttachmentType.VEHICLE, 0, 0); - if (attachment != null) { - double yAttachment = attachment.getY(); - eyeHeight += yAttachment * factor; - } + eyeHeight += player.getVehicleAttachmentPos(player.getVehicle()).getY(); } return dimensions.withEyeHeight(eyeHeight); diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/PassengerFeature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/PassengerFeature.java index aaa73045..869d3cf6 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/PassengerFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/PassengerFeature.java @@ -54,15 +54,19 @@ public class PassengerFeature< boolean left ) { matrices.push(); + + float scale = 1/state.attributes.size.scaleFactor(); + final double parrotModelHeight = 1.5; + getContextModel().transform(state, BodyPart.BACK, matrices); getContextModel().body.rotate(matrices); - float scale = 1 / state.attributes.size.scaleFactor(); - matrices.scale(scale, scale, scale); - matrices.translate( - left ? 0.25F : -0.25F, - state.isInSneakingPose ? -1.7F : -1.5F, 0 - ); + + matrices.translate(0, -1.28, 0); matrices.multiply(RotationAxis.NEGATIVE_Z.rotationDegrees(left ? -5 : 5)); + matrices.translate(0, parrotModelHeight, 0); + matrices.scale(scale, scale, scale); + matrices.translate(left ? 0.25 : -0.25, -parrotModelHeight, 0.45); + parrotState.age = state.age; parrotState.limbFrequency = state.limbFrequency; parrotState.limbAmplitudeMultiplier = state.limbAmplitudeMultiplier; diff --git a/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java b/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java index c0ac251c..003e0488 100644 --- a/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java +++ b/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java @@ -31,7 +31,6 @@ public enum PonyTransformation { if (attributes.isCrouching) stack.translate(0, 0.1F, 0); break; case BACK: - translateForRider(stack); break; default: } @@ -69,7 +68,8 @@ public enum PonyTransformation { stack.scale(1.1F, 1, 1.1F); break; case BACK: - translateForRider(stack); + stack.translate(0, -0.08F, -0.05F); + if (attributes.isLyingDown) stack.translate(0, -0.1F, 0); break; default: } @@ -107,7 +107,7 @@ public enum PonyTransformation { stack.scale(0.9F, 1.12F, 0.9F); break; case BACK: - translateForRider(stack); + stack.translate(0, -0.14F, -0.04F); break; } } @@ -143,7 +143,7 @@ public enum PonyTransformation { stack.scale(1.15F, 1.12F, 1.15F); break; case BACK: - translateForRider(stack); + stack.translate(0, -0.15F, -0.04F); break; } } @@ -173,7 +173,6 @@ public enum PonyTransformation { stack.scale(1, 0.81F, 1); break; case BACK: - translateForRider(stack); break; default: } @@ -199,6 +198,7 @@ public enum PonyTransformation { break; case BODY: case TAIL: + case BACK: stack.translate(0, -0.1F, 0); break; case LEGS: @@ -206,9 +206,6 @@ public enum PonyTransformation { stack.scale(1, 1.18F, 1); if (attributes.isGoingFast) stack.translate(0, 0.05F, 0); break; - case BACK: - translateForRider(stack); - break; } } }, @@ -234,6 +231,7 @@ public enum PonyTransformation { break; case BODY: case TAIL: + case BACK: stack.translate(0, -0.1F, 0); break; case LEGS: @@ -241,9 +239,6 @@ public enum PonyTransformation { stack.scale(1, 1.18F, 1); if (attributes.isGoingFast) stack.translate(0, 0.05F, 0); break; - case BACK: - translateForRider(stack); - break; } } }, @@ -273,6 +268,10 @@ public enum PonyTransformation { stack.scale(1.4F, 1.3F, 1); if (attributes.isCrouching) stack.translate(0, -0.05F, 0); break; + case BACK: + stack.translate(0, 0.07F, 0); + if (attributes.isCrouching) stack.translate(0, -0.05F, 0); + break; case TAIL: stack.translate(0, -0.1F, 0); break; @@ -281,9 +280,6 @@ public enum PonyTransformation { stack.scale(1.1F, 0.8F, 1.1F); if (attributes.isLyingDown) stack.translate(0, -0.1F, 0); break; - case BACK: - translateForRider(stack); - break; } } };