From 48271cc45f9ce8609f639113afa08ca93400f14a Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 31 Jan 2025 22:41:01 -0700 Subject: [PATCH] use the correct partialTick when ticking animations --- .../main/java/software/bernie/geckolib/model/GeoModel.java | 6 +++--- .../software/bernie/geckolib/renderer/GeoArmorRenderer.java | 2 +- .../software/bernie/geckolib/renderer/GeoBlockRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoEntityRenderer.java | 2 +- .../software/bernie/geckolib/renderer/GeoItemRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoObjectRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoReplacedEntityRenderer.java | 2 +- .../main/java/software/bernie/geckolib/model/GeoModel.java | 6 +++--- .../software/bernie/geckolib/renderer/GeoArmorRenderer.java | 2 +- .../software/bernie/geckolib/renderer/GeoBlockRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoEntityRenderer.java | 2 +- .../software/bernie/geckolib/renderer/GeoItemRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoObjectRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoReplacedEntityRenderer.java | 2 +- .../main/java/software/bernie/geckolib/model/GeoModel.java | 6 +++--- .../software/bernie/geckolib/renderer/GeoArmorRenderer.java | 2 +- .../software/bernie/geckolib/renderer/GeoBlockRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoEntityRenderer.java | 2 +- .../software/bernie/geckolib/renderer/GeoItemRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoObjectRenderer.java | 2 +- .../bernie/geckolib/renderer/GeoReplacedEntityRenderer.java | 2 +- .../bernie/geckolib/core/animatable/model/CoreGeoModel.java | 2 +- 22 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Fabric/src/main/java/software/bernie/geckolib/model/GeoModel.java b/Fabric/src/main/java/software/bernie/geckolib/model/GeoModel.java index f5d1d039f..37136a410 100644 --- a/Fabric/src/main/java/software/bernie/geckolib/model/GeoModel.java +++ b/Fabric/src/main/java/software/bernie/geckolib/model/GeoModel.java @@ -184,7 +184,7 @@ public void addAdditionalStateData(T animatable, long instanceId, BiConsumer animationState) { + public void handleAnimations(T animatable, long instanceId, AnimationState animationState, float partialTick) { Minecraft mc = Minecraft.getInstance(); AnimatableManager animatableManager = animatable.getAnimatableInstanceCache().getManagerForId(instanceId); Double currentTick = animationState.getData(DataTickets.TICK); @@ -193,9 +193,9 @@ public void handleAnimations(T animatable, long instanceId, AnimationState an currentTick = animatable instanceof Entity entity ? (double)entity.tickCount : RenderUtils.getCurrentTick(); if (animatableManager.getFirstTickTime() == -1) - animatableManager.startedAt(currentTick + mc.getFrameTime()); + animatableManager.startedAt(currentTick + partialTick); - double currentFrameTime = animatable instanceof Entity ? currentTick + mc.getFrameTime() : currentTick - animatableManager.getFirstTickTime(); + double currentFrameTime = animatable instanceof Entity ? currentTick + partialTick : currentTick - animatableManager.getFirstTickTime(); boolean isReRender = !animatableManager.isFirstTick() && currentFrameTime == animatableManager.getLastUpdateTime(); if (isReRender && instanceId == this.lastRenderedInstance) diff --git a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java index 522804204..6f0b121cb 100644 --- a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java +++ b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java @@ -298,7 +298,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, this.currentEntity); animationState.setData(DataTickets.EQUIPMENT_SLOT, this.currentSlot); this.model.addAdditionalStateData(animatable, instanceId, animationState::setData); - this.model.handleAnimations(animatable, instanceId, animationState); + this.model.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java index 73bee2503..365075582 100644 --- a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java +++ b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java @@ -146,7 +146,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); poseStack.translate(0.5, 0, 0.5); rotateBlock(getFacing(animatable), poseStack); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java index 6ac5b40ac..5d5485a32 100644 --- a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java +++ b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java @@ -216,7 +216,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, animatable); animationState.setData(DataTickets.ENTITY_MODEL_DATA, new EntityModelData(shouldSit, livingEntity != null && livingEntity.isBaby(), -netHeadYaw, -headPitch)); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } poseStack.translate(0, 0.01f, 0); diff --git a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java index 0f0410437..6109c12c4 100644 --- a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java +++ b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java @@ -223,7 +223,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ITEMSTACK, this.currentItemStack); animatable.getAnimatableInstanceCache().getManagerForId(instanceId).setData(DataTickets.ITEM_RENDER_PERSPECTIVE, this.renderPerspective); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java index c960b508c..434bf3bf4 100644 --- a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java +++ b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java @@ -154,7 +154,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode GeoModel currentModel = getGeoModel(); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java index 5fb3d0d44..133a19c21 100644 --- a/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java +++ b/Fabric/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java @@ -243,7 +243,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, this.currentEntity); animationState.setData(DataTickets.ENTITY_MODEL_DATA, new EntityModelData(shouldSit, livingEntity != null && livingEntity.isBaby(), -netHeadYaw, -headPitch)); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } poseStack.translate(0, 0.01f, 0); diff --git a/Forge/src/main/java/software/bernie/geckolib/model/GeoModel.java b/Forge/src/main/java/software/bernie/geckolib/model/GeoModel.java index d463a8a4a..dcca8b2b6 100644 --- a/Forge/src/main/java/software/bernie/geckolib/model/GeoModel.java +++ b/Forge/src/main/java/software/bernie/geckolib/model/GeoModel.java @@ -184,7 +184,7 @@ public void addAdditionalStateData(T animatable, long instanceId, BiConsumer animationState) { + public void handleAnimations(T animatable, long instanceId, AnimationState animationState, float partialTick) { Minecraft mc = Minecraft.getInstance(); AnimatableManager animatableManager = animatable.getAnimatableInstanceCache().getManagerForId(instanceId); Double currentTick = animationState.getData(DataTickets.TICK); @@ -193,9 +193,9 @@ public void handleAnimations(T animatable, long instanceId, AnimationState an currentTick = animatable instanceof Entity entity ? (double)entity.tickCount : RenderUtils.getCurrentTick(); if (animatableManager.getFirstTickTime() == -1) - animatableManager.startedAt(currentTick + mc.getFrameTime()); + animatableManager.startedAt(currentTick + partialTick); - double currentFrameTime = animatable instanceof Entity ? currentTick + mc.getFrameTime() : currentTick - animatableManager.getFirstTickTime(); + double currentFrameTime = animatable instanceof Entity ? currentTick + partialTick : currentTick - animatableManager.getFirstTickTime(); boolean isReRender = !animatableManager.isFirstTick() && currentFrameTime == animatableManager.getLastUpdateTime(); if (isReRender && instanceId == this.lastRenderedInstance) diff --git a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java index bdb50ad2d..e71fa0068 100644 --- a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java +++ b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java @@ -299,7 +299,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, this.currentEntity); animationState.setData(DataTickets.EQUIPMENT_SLOT, this.currentSlot); this.model.addAdditionalStateData(animatable, instanceId, animationState::setData); - this.model.handleAnimations(animatable, instanceId, animationState); + this.model.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java index 68e629cf5..c523c888a 100644 --- a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java +++ b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java @@ -147,7 +147,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); poseStack.translate(0.5, 0, 0.5); rotateBlock(getFacing(animatable), poseStack); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java index fdf10fa04..31c9955a1 100644 --- a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java +++ b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java @@ -217,7 +217,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, animatable); animationState.setData(DataTickets.ENTITY_MODEL_DATA, new EntityModelData(shouldSit, livingEntity != null && livingEntity.isBaby(), -netHeadYaw, -headPitch)); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } poseStack.translate(0, 0.01f, 0); diff --git a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java index f60642787..d0f0db192 100644 --- a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java +++ b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java @@ -224,7 +224,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ITEMSTACK, this.currentItemStack); animatable.getAnimatableInstanceCache().getManagerForId(instanceId).setData(DataTickets.ITEM_RENDER_PERSPECTIVE, this.renderPerspective); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java index 5d840cd09..deec35af0 100644 --- a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java +++ b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java @@ -155,7 +155,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode GeoModel currentModel = getGeoModel(); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java index 7f3d6546f..0b5b7a9ae 100644 --- a/Forge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java +++ b/Forge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java @@ -237,7 +237,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, this.currentEntity); animationState.setData(DataTickets.ENTITY_MODEL_DATA, new EntityModelData(shouldSit, livingEntity != null && livingEntity.isBaby(), -netHeadYaw, -headPitch)); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } poseStack.translate(0, 0.01f, 0); diff --git a/NeoForge/src/main/java/software/bernie/geckolib/model/GeoModel.java b/NeoForge/src/main/java/software/bernie/geckolib/model/GeoModel.java index 55d394102..ef2f5e8b3 100644 --- a/NeoForge/src/main/java/software/bernie/geckolib/model/GeoModel.java +++ b/NeoForge/src/main/java/software/bernie/geckolib/model/GeoModel.java @@ -183,7 +183,7 @@ public void addAdditionalStateData(T animatable, long instanceId, BiConsumer animationState) { + public void handleAnimations(T animatable, long instanceId, AnimationState animationState, float partialTick) { Minecraft mc = Minecraft.getInstance(); AnimatableManager animatableManager = animatable.getAnimatableInstanceCache().getManagerForId(instanceId); Double currentTick = animationState.getData(DataTickets.TICK); @@ -192,9 +192,9 @@ public void handleAnimations(T animatable, long instanceId, AnimationState an currentTick = animatable instanceof Entity entity ? (double)entity.tickCount : RenderUtils.getCurrentTick(); if (animatableManager.getFirstTickTime() == -1) - animatableManager.startedAt(currentTick + mc.getFrameTime()); + animatableManager.startedAt(currentTick + partialTick); - double currentFrameTime = animatable instanceof Entity ? currentTick + mc.getFrameTime() : currentTick - animatableManager.getFirstTickTime(); + double currentFrameTime = animatable instanceof Entity ? currentTick + partialTick : currentTick - animatableManager.getFirstTickTime(); boolean isReRender = !animatableManager.isFirstTick() && currentFrameTime == animatableManager.getLastUpdateTime(); if (isReRender && instanceId == this.lastRenderedInstance) diff --git a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java index bdb50ad2d..e71fa0068 100644 --- a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java +++ b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoArmorRenderer.java @@ -299,7 +299,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, this.currentEntity); animationState.setData(DataTickets.EQUIPMENT_SLOT, this.currentSlot); this.model.addAdditionalStateData(animatable, instanceId, animationState::setData); - this.model.handleAnimations(animatable, instanceId, animationState); + this.model.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java index eb52dbdc9..4275beb1b 100644 --- a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java +++ b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoBlockRenderer.java @@ -146,7 +146,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); poseStack.translate(0.5, 0, 0.5); rotateBlock(getFacing(animatable), poseStack); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java index fdf10fa04..31c9955a1 100644 --- a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java +++ b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoEntityRenderer.java @@ -217,7 +217,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, animatable); animationState.setData(DataTickets.ENTITY_MODEL_DATA, new EntityModelData(shouldSit, livingEntity != null && livingEntity.isBaby(), -netHeadYaw, -headPitch)); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } poseStack.translate(0, 0.01f, 0); diff --git a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java index 22b23a5be..104d68da4 100644 --- a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java +++ b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoItemRenderer.java @@ -225,7 +225,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ITEMSTACK, this.currentItemStack); animatable.getAnimatableInstanceCache().getManagerForId(instanceId).setData(DataTickets.ITEM_RENDER_PERSPECTIVE, this.renderPerspective); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java index 5d840cd09..deec35af0 100644 --- a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java +++ b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoObjectRenderer.java @@ -155,7 +155,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode GeoModel currentModel = getGeoModel(); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } this.modelRenderTranslations = new Matrix4f(poseStack.last().pose()); diff --git a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java index 7f3d6546f..0b5b7a9ae 100644 --- a/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java +++ b/NeoForge/src/main/java/software/bernie/geckolib/renderer/GeoReplacedEntityRenderer.java @@ -237,7 +237,7 @@ public void actuallyRender(PoseStack poseStack, T animatable, BakedGeoModel mode animationState.setData(DataTickets.ENTITY, this.currentEntity); animationState.setData(DataTickets.ENTITY_MODEL_DATA, new EntityModelData(shouldSit, livingEntity != null && livingEntity.isBaby(), -netHeadYaw, -headPitch)); currentModel.addAdditionalStateData(animatable, instanceId, animationState::setData); - currentModel.handleAnimations(animatable, instanceId, animationState); + currentModel.handleAnimations(animatable, instanceId, animationState, partialTick); } poseStack.translate(0, 0.01f, 0); diff --git a/core/src/main/java/software/bernie/geckolib/core/animatable/model/CoreGeoModel.java b/core/src/main/java/software/bernie/geckolib/core/animatable/model/CoreGeoModel.java index 0abaabcd8..18648b34b 100644 --- a/core/src/main/java/software/bernie/geckolib/core/animatable/model/CoreGeoModel.java +++ b/core/src/main/java/software/bernie/geckolib/core/animatable/model/CoreGeoModel.java @@ -46,7 +46,7 @@ default Optional getBone(String name) { * This method is called once per render frame for each {@link GeoAnimatable} being rendered.
* It is an internal method for automated animation parsing. Use {@link CoreGeoModel#setCustomAnimations(GeoAnimatable, long, AnimationState)} for custom animation work */ - void handleAnimations(E animatable, long instanceId, AnimationState animationState); + void handleAnimations(E animatable, long instanceId, AnimationState animationState, float partialTick); /** * This method is called once per render frame for each {@link GeoAnimatable} being rendered.