From d683b3e64d829fedd0d592b8744fbb5f872348e5 Mon Sep 17 00:00:00 2001 From: luisc Date: Wed, 24 Jan 2024 18:10:17 -0600 Subject: [PATCH] More fixes to first-person animation rendering. --- .../npcs/client/ClientEventHandler.java | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/src/main/java/noppes/npcs/client/ClientEventHandler.java b/src/main/java/noppes/npcs/client/ClientEventHandler.java index 1298af580..26b48021b 100644 --- a/src/main/java/noppes/npcs/client/ClientEventHandler.java +++ b/src/main/java/noppes/npcs/client/ClientEventHandler.java @@ -200,34 +200,22 @@ public class ClientEventHandler { @SubscribeEvent public void onRenderHand(RenderHandEvent event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; - Render playerRenderer = RenderManager.instance.getEntityRenderObject(player); - if (playerRenderer instanceof RendererLivingEntity) { - ClientEventHandler.renderer = (RendererLivingEntity) playerRenderer; - } - ClientEventHandler.partialRenderTick = Minecraft.getMinecraft().timer.renderPartialTicks; - partialHandTicks = event.partialTicks; - if (ConfigMixin.FirstPersonAnimationMixin && ClientCacheHandler.playerAnimations.containsKey(player.getUniqueID())) { - for (Map.Entry entry : ClientEventHandler.originalValues.entrySet()) { - ModelRenderer renderer = entry.getKey(); - FramePart part = entry.getValue(); - renderer.rotateAngleX = part.rotation[0]; - renderer.rotateAngleY = part.rotation[1]; - renderer.rotateAngleZ = part.rotation[2]; - renderer.rotationPointX = part.pivot[0]; - renderer.rotationPointY = part.pivot[1]; - renderer.rotationPointZ = part.pivot[2]; + Render playerRenderer = RenderManager.instance.getEntityRenderObject(player); + if (playerRenderer instanceof RendererLivingEntity) { + ClientEventHandler.renderer = (RendererLivingEntity) playerRenderer; } + ClientEventHandler.renderingPlayer = player; + ClientEventHandler.partialRenderTick = Minecraft.getMinecraft().timer.renderPartialTicks; + partialHandTicks = event.partialTicks; AnimationData animData = ClientCacheHandler.playerAnimations.get(player.getUniqueID()); if (animData != null && animData.isActive()) { Frame frame = (Frame) animData.animation.currentFrame(); - for (EnumAnimationPart e : EnumAnimationPart.values()) { - if (frame.frameParts.containsKey(e)) { - FramePart part = frame.frameParts.get(e); - part.interpolateOffset(); - part.interpolateAngles(); - } + if (frame.frameParts.containsKey(EnumAnimationPart.FULL_MODEL)) { + FramePart part = frame.frameParts.get(EnumAnimationPart.FULL_MODEL); + part.interpolateOffset(); + part.interpolateAngles(); } } }