From f818568bd30b6137ac55a02209d937b36c4f552a Mon Sep 17 00:00:00 2001 From: Kam Date: Sun, 22 Feb 2026 14:16:40 -0500 Subject: [PATCH] Fix Panel Held / Anchored Mode --- .../java/kamkeel/npcs/entity/EntityAbilityPanel.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/kamkeel/npcs/entity/EntityAbilityPanel.java b/src/main/java/kamkeel/npcs/entity/EntityAbilityPanel.java index 582151239..653d336a2 100644 --- a/src/main/java/kamkeel/npcs/entity/EntityAbilityPanel.java +++ b/src/main/java/kamkeel/npcs/entity/EntityAbilityPanel.java @@ -168,6 +168,17 @@ public class EntityAbilityPanel extends EntityAbilityBarrier { this.prevPosZ = owner.prevPosZ + (Math.cos(prevYawRad) * frontDist); } + @Override + public void setPositionAndRotation2(double x, double y, double z, float yaw, float pitch, int posRotationIncrements) { + // HELD panels are fully owner-driven each tick via updateHeld(). + // Applying network position lerp on top of owner-following causes visible jitter/stutter + // when the caster is moving, so ignore remote corrections in this mode. + if (worldObj != null && worldObj.isRemote && mode == PanelMode.HELD && getOwnerEntity() != null) { + return; + } + super.setPositionAndRotation2(x, y, z, yaw, pitch, posRotationIncrements); + } + private void updateLaunched() { // Move forward on both sides for smooth client rendering this.posX += motionX;