diff --git a/plugin/src/main/java/net/aufdemrand/denizen/npc/traits/SittingTrait.java b/plugin/src/main/java/net/aufdemrand/denizen/npc/traits/SittingTrait.java index e4c2cd589f..bd45b6307b 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/npc/traits/SittingTrait.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/npc/traits/SittingTrait.java @@ -7,11 +7,13 @@ import net.aufdemrand.denizencore.objects.Mechanism; import net.citizensnpcs.api.persistence.Persist; import net.citizensnpcs.api.trait.Trait; +import net.citizensnpcs.util.PlayerAnimation; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; @@ -82,9 +84,13 @@ public void sit() { } private void sitInternal() { - DenizenEntityType.getByName("FAKE_ARROW").spawnNewEntity(npc.getEntity().getLocation(), - new ArrayList()).setPassenger(npc.getEntity()); - //PlayerAnimation.SIT.play((Player)npc.getEntity()); + if (npc.getEntity() instanceof Player) { + PlayerAnimation.SIT.play((Player)npc.getEntity()); + } + else { + DenizenEntityType.getByName("FAKE_ARROW").spawnNewEntity(npc.getEntity().getLocation(), + new ArrayList()).setPassenger(npc.getEntity()); + } //eh.getDataWatcher().watch(0, (byte) 0x04); sitting = true; } @@ -97,7 +103,9 @@ private void standInternal() { vehicle.setPassenger(null); vehicle.remove(); } - //PlayerAnimation.STOP_SITTING.play((Player)npc.getEntity()); + if (npc.getEntity() instanceof Player) { + PlayerAnimation.STOP_SITTING.play((Player) npc.getEntity()); + } //eh.getDataWatcher().watch(0, (byte) 0x00); sitting = false; }