Refactor EntityTargetEvent handler.

Just a bit of cleanup.
This commit is contained in:
Andreas Troelsen
2019-12-21 19:30:32 +01:00
parent c573fd60eb
commit 7b99c8cbae
@@ -825,31 +825,34 @@ public class ArenaListener
if (!arena.isRunning() || event.isCancelled()) if (!arena.isRunning() || event.isCancelled())
return; return;
if (arena.hasPet(event.getEntity())) { Entity entity = event.getEntity();
Entity target = event.getTarget();
if (arena.hasPet(entity)) {
// Pets should never attack players // Pets should never attack players
if (event.getTarget() instanceof Player) { if (target instanceof Player) {
event.setCancelled(true); event.setCancelled(true);
} }
} }
else if (monsters.getMonsters().contains(event.getEntity())) { else if (monsters.getMonsters().contains(entity)) {
// If the target is null, we probably forgot or the target died // If the target is null, we probably forgot or the target died
if (event.getTarget() == null) { if (target == null) {
event.setTarget(MAUtils.getClosestPlayer(plugin, event.getEntity(), arena)); event.setTarget(MAUtils.getClosestPlayer(plugin, entity, arena));
} }
// Pets are untargetable // Pets are untargetable
else if (arena.hasPet(event.getTarget())) { else if (arena.hasPet(target)) {
event.setCancelled(true); event.setCancelled(true);
} }
// So are non-arena players // So are non-arena players
else if (event.getTarget() instanceof Player && !arena.inArena((Player) event.getTarget())) { else if (target instanceof Player && !arena.inArena((Player) target)) {
event.setCancelled(true); event.setCancelled(true);
} }
// And other mobs unless infighting is enabled // And other mobs unless infighting is enabled
else if (monsters.getMonsters().contains(event.getTarget()) && !monsterInfight) { else if (monsters.getMonsters().contains(target) && !monsterInfight) {
event.setCancelled(true); event.setCancelled(true);
} }
} }