From 802ba060bae3448726f38c4269842f7d373dafd1 Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 12 Sep 2022 17:52:26 +0200 Subject: [PATCH] Apply emote animations to the first person arm --- .../unicopia/client/render/PlayerPoser.java | 9 +++++++++ .../mixin/client/MixinPlayerEntityRenderer.java | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java b/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java index edab91b6..d1f411cc 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java @@ -9,6 +9,7 @@ import com.minelittlepony.unicopia.util.AnimationUtil; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.entity.model.BipedEntityModel; +import net.minecraft.client.render.entity.model.PlayerEntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.sound.SoundEvent; @@ -154,6 +155,14 @@ public class PlayerPoser { } default: } + + if (model instanceof PlayerEntityModel m) { + m.leftSleeve.copyTransform(m.leftArm); + m.rightSleeve.copyTransform(m.rightArm); + m.leftPants.copyTransform(m.leftLeg); + m.rightPants.copyTransform(m.rightLeg); + } + model.hat.copyTransform(model.head); } private void rearUp(MatrixStack matrices, BipedEntityModel model, float progress) { diff --git a/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinPlayerEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinPlayerEntityRenderer.java index aa8bf0fd..84d8ee9c 100644 --- a/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinPlayerEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinPlayerEntityRenderer.java @@ -4,9 +4,11 @@ import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.At.Shift; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.minelittlepony.unicopia.client.render.AccessoryFeatureRenderer; +import com.minelittlepony.unicopia.client.render.PlayerPoser; import com.minelittlepony.unicopia.client.render.AccessoryFeatureRenderer.FeatureRoot; import net.minecraft.client.model.ModelPart; @@ -42,4 +44,13 @@ abstract class MixinPlayerEntityRenderer extends LivingEntityRenderer