From ca04c3aed042a349edc996067035a917a1bf1b3e Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 15 Dec 2024 15:00:55 +0100 Subject: [PATCH 1/4] Fix head position when riding more entity types (fixes compatibility with Sit mod and also mods where players can carry other players) --- .../minelittlepony/client/render/EquineRenderManager.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java index 30af99c3..09275e60 100644 --- a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java +++ b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java @@ -28,7 +28,6 @@ import net.minecraft.entity.*; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.Util; import net.minecraft.util.math.Box; -import net.minecraft.util.math.Vec3d; import org.jetbrains.annotations.Nullable; @@ -143,11 +142,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); From 7988da222f053e26ecc6352c06f1f5678a6c0cd4 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 15 Dec 2024 17:18:46 +0100 Subject: [PATCH 2/4] Bump versions --- build.gradle | 2 +- gradle.properties | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 71fa5818..4b6129da 100644 --- a/build.gradle +++ b/build.gradle @@ -84,7 +84,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 d34d1e76..2baa3d49 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.daemon=false # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.21 - yarn_mappings=1.21+build.9 - loader_version=0.15.11 - fabric_version=0.100.7+1.21 + minecraft_version=1.21.1 + yarn_mappings=1.21.1+build.3 + loader_version=0.16.4 + fabric_version=0.102.0+1.21.1 # Mod Properties group=com.minelittlepony @@ -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 <1.21.3 modrinth_loader_type=fabric modrinth_project_id=JBjInUXM From 7328d0c43d135edcd8a63f525f5f7817da6b2a6f Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 15 Dec 2024 17:19:18 +0100 Subject: [PATCH 3/4] Backport fixes for head position when riding/sitting --- .../client/mixin/MixinPlayerEntity.java | 5 ++--- .../client/render/EquineRenderManager.java | 22 +++++++++++++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java b/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java index 5e7eb444..4552cdf5 100644 --- a/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java +++ b/src/main/java/com/minelittlepony/client/mixin/MixinPlayerEntity.java @@ -24,12 +24,11 @@ abstract class MixinPlayerEntity implements RegistrationHandler { @ModifyReturnValue(method = "getBaseDimensions(Lnet/minecraft/entity/EntityPose;)Lnet/minecraft/entity/EntityDimensions;", at = @At("RETURN")) private EntityDimensions modifyEyeHeight(EntityDimensions dimensions, EntityPose pose) { - float factor = syncedPony.getCachedPonyData().size().eyeHeightFactor(); - return factor == 1 ? dimensions : dimensions.withEyeHeight(dimensions.eyeHeight() * factor); + return getSyncedPony().modifyEyeHeight((PlayerEntity)(Object)this, dimensions, pose); } @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 2d6fe1d1..3ce0a5f0 100644 --- a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java +++ b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java @@ -21,7 +21,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.Frustum; import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.*; import net.minecraft.entity.player.PlayerEntity; import org.jetbrains.annotations.Nullable; @@ -154,6 +154,7 @@ public class EquineRenderManager> lastPonyData = PonyDataLoader.NULL; @Nullable private Pony lastTransmittedPony; + private boolean seated; public Pony getCachedPony() { return lastRenderedPony; @@ -163,15 +164,32 @@ public class EquineRenderManager Date: Sun, 15 Dec 2024 17:19:37 +0100 Subject: [PATCH 4/4] Packport parrot sizing and fix parrots positioning --- .../entity/feature/PassengerFeature.java | 16 +++++++----- .../client/transform/PonyTransformation.java | 25 ++++++++----------- 2 files changed, 21 insertions(+), 20 deletions(-) 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 ea65138a..671afe24 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 @@ -8,12 +8,13 @@ import net.minecraft.client.render.entity.ParrotEntityRenderer; import net.minecraft.client.render.entity.model.EntityModelLayers; import net.minecraft.client.render.entity.model.ParrotEntityModel; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.math.RotationAxis; + import net.minecraft.entity.EntityType; import net.minecraft.entity.passive.ParrotEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.util.Identifier; +import net.minecraft.util.math.*; import com.minelittlepony.api.model.BodyPart; import com.minelittlepony.client.model.ClientPonyModel; @@ -48,14 +49,17 @@ public class PassengerFeature