Refactor EntityTargetEvent handler.
Just a bit of cleanup.
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user