diff --git a/src/main/java/kamkeel/npcs/network/packets/data/UpdateAnimationsPacket.java b/src/main/java/kamkeel/npcs/network/packets/data/UpdateAnimationsPacket.java index d6f1922a7..cfd04a304 100644 --- a/src/main/java/kamkeel/npcs/network/packets/data/UpdateAnimationsPacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/data/UpdateAnimationsPacket.java @@ -75,19 +75,18 @@ public final class UpdateAnimationsPacket extends AbstractPacket { } if (animationData != null) { - int animationId; - if (nbt.hasKey("AnimationID")) { - animationId = nbt.getInteger("AnimationID"); - } else { + if (nbt.hasKey("Animation")) { Animation animation = new Animation(); animation.readFromNBT(nbt.getCompoundTag("Animation")); - ClientCacheHandler.animationCache.put(animation.getID(), animation); - animationId = animation.getID(); + animationData.setAnimation(animation); + } else { + animationData.setAnimation(null); } - - animationData.setAnimation(ClientCacheHandler.animationCache.get(animationId)); animationData.readFromNBT(nbt); - PacketClient.sendClient(new AnimationCachePacket(animationId)); + if (nbt.hasKey("Frame")) { + animationData.animation.jumpToFrameAtTime( + nbt.getInteger("Frame"), nbt.getInteger("Time")); + } } } } diff --git a/src/main/java/noppes/npcs/controllers/data/AnimationData.java b/src/main/java/noppes/npcs/controllers/data/AnimationData.java index 06af050d4..2e077c128 100644 --- a/src/main/java/noppes/npcs/controllers/data/AnimationData.java +++ b/src/main/java/noppes/npcs/controllers/data/AnimationData.java @@ -221,6 +221,8 @@ public class AnimationData implements IAnimationData { if (animationNBT != null) { data.setTag("Animation", animationNBT); + } else if (animation != null) { + data.setTag("Animation", animation.writeToNBT()); } IAnimatable animatable = animationData.getEntity();