Teleport skeletons when they are very far from the owner

This commit is contained in:
Spencer 2017-12-28 18:36:27 -05:00 committed by Alexander Meech
parent bd26be8a21
commit 0d13e6fa14
1 changed files with 10 additions and 2 deletions

View File

@ -148,10 +148,12 @@ public class PerkSkeletons extends Perk
@EventHandler
public void TargetCancel(EntityTargetEvent event)
{
if (!_minions.containsKey(event.getTarget()))
if (!(event.getTarget() instanceof Player) || !(event.getEntity() instanceof Skeleton))
{
return;
}
if (_minions.get(event.getTarget()).contains(event.getEntity()))
if (_minions.containsKey(event.getTarget()) && _minions.get(event.getTarget()).contains(event.getEntity()))
event.setCancelled(true);
for (Player player : _minions.keySet())
@ -227,6 +229,12 @@ public class PerkSkeletons extends Perk
skel.setTarget(null);
((CraftSkeleton) skel).getHandle().setGoalTarget(null);
}
// If it's VERY far from the player
if (UtilMath.offset(skel, player) > (range * 3))
{
skel.teleport(player.getLocation());
}
}
}
}