diff --git a/src/main/java/noppes/npcs/client/PacketHandlerClient.java b/src/main/java/noppes/npcs/client/PacketHandlerClient.java index cf3d45d00..36938f5da 100644 --- a/src/main/java/noppes/npcs/client/PacketHandlerClient.java +++ b/src/main/java/noppes/npcs/client/PacketHandlerClient.java @@ -327,21 +327,19 @@ public class PacketHandlerClient extends PacketHandlerServer{ } if (animationData != null) { - animationData.readFromNBT(compound); - int animationId; - if (compound.hasKey("AnimationID")) { - animationId = compound.getInteger("AnimationID"); - } else { - Animation animation = new Animation(); - animation.readFromNBT(compound.getCompoundTag("Animation")); - ClientCacheHandler.animationCache.put(animation.getID(), animation); - animationId = animation.getID(); - } + int animationId; + if (compound.hasKey("AnimationID")) { + animationId = compound.getInteger("AnimationID"); + } else { + Animation animation = new Animation(); + animation.readFromNBT(compound.getCompoundTag("Animation")); + ClientCacheHandler.animationCache.put(animation.getID(), animation); + animationId = animation.getID(); + } - if (animationData.allowAnimation) { - animationData.setAnimation(ClientCacheHandler.animationCache.get(animationId)); - Client.sendData(EnumPacketServer.CacheAnimation, animationId); - } + animationData.setAnimation(ClientCacheHandler.animationCache.get(animationId)); + animationData.readFromNBT(compound); + Client.sendData(EnumPacketServer.CacheAnimation, animationId); } } else if(type == EnumPacketClient.DISABLE_MOUSE_INPUT) { diff --git a/src/main/java/noppes/npcs/controllers/data/AnimationData.java b/src/main/java/noppes/npcs/controllers/data/AnimationData.java index e67fa4e01..70b8417bc 100644 --- a/src/main/java/noppes/npcs/controllers/data/AnimationData.java +++ b/src/main/java/noppes/npcs/controllers/data/AnimationData.java @@ -155,7 +155,7 @@ public class AnimationData implements IAnimationData { } else { Animation newAnim = new Animation(); newAnim.readFromNBT(((Animation) animation).writeToNBT()); - if (this.animation != null && newAnim.frames.size() > 0) { + if (this.isActive() && !newAnim.frames.isEmpty()) { Frame frame = (Frame) this.animation.currentFrame(); if (frame != null) { Frame firstFrame = newAnim.frames.get(0);