diff --git a/src/main/java/noppes/npcs/controllers/data/AnimationData.java b/src/main/java/noppes/npcs/controllers/data/AnimationData.java index 825e9d46f..e67fa4e01 100644 --- a/src/main/java/noppes/npcs/controllers/data/AnimationData.java +++ b/src/main/java/noppes/npcs/controllers/data/AnimationData.java @@ -55,7 +55,7 @@ public class AnimationData implements IAnimationData { float range = parent instanceof PlayerData ? 160 : 60; if (sendingEntity != null) { if(sendingEntity instanceof EntityNPCInterface && sendingEntity.dimension != sendingEntity.worldObj.provider.dimensionId) - sendingEntity.dimension = sendingEntity.worldObj.provider.dimensionId; + ((EntityNPCInterface) sendingEntity).fixDimensionID(); List entities = sendingEntity.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox( sendingEntity.posX - range, sendingEntity.posY - range, sendingEntity.posZ - range, diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index db10cca8c..5a1d80909 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -390,10 +390,17 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti public void updateClient() { NBTTagCompound compound = writeSpawnData(); compound.setInteger("EntityId", getEntityId()); + fixDimensionID(); Server.sendAssociatedData(this, EnumPacketClient.UPDATE_NPC, compound); updateClient = false; } + public void fixDimensionID(){ + if(worldObj == null || worldObj.provider == null || this.dimension == worldObj.provider.dimensionId) + return; + this.dimension = worldObj.provider.dimensionId; + } + @Override public boolean interact(EntityPlayer player) {