package com.github.jamesnorris.ablockalypse.event.bukkit;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityTargetEvent;
import com.github.jamesnorris.ablockalypse.Ablockalypse;
import com.github.jamesnorris.ablockalypse.DataContainer;
import com.github.jamesnorris.ablockalypse.aspect.ZAPlayer;
public class EntityTarget implements Listener {
private DataContainer data = Ablockalypse.getData();
/* Called when an entity targets another entity.
* Mostly used for making sure non-supported entites do not attack ZA players. */
@EventHandler(priority = EventPriority.HIGHEST) public void ETE(EntityTargetEvent event) {
Entity target = event.getTarget();
Entity entity = event.getEntity();
if (entity instanceof LivingEntity && target instanceof Player) {
Player p = (Player) target;
if (data.isZAPlayer(p)) {
ZAPlayer zap = data.getZAPlayer(p);
if (zap.isInLastStand() || !data.isZAMob((LivingEntity) entity)) {
event.setCancelled(true);
}
}
}
}
}