package com.github.jamesnorris.ablockalypse.threading.inherent; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import com.github.jamesnorris.ablockalypse.Ablockalypse; import com.github.jamesnorris.ablockalypse.DataContainer; import com.github.jamesnorris.ablockalypse.aspect.ZAPlayer; import com.github.jamesnorris.ablockalypse.enumerated.Setting; import com.github.jamesnorris.ablockalypse.threading.RepeatingTask; public class ServerMobSpawnPreventionTask extends RepeatingTask { private DataContainer data = Ablockalypse.getData(); public ServerMobSpawnPreventionTask(int interval, boolean autorun) { super(interval, autorun); } @Override public void run() { for (ZAPlayer zap : data.getObjectsOfType(ZAPlayer.class)) { Player p = zap.getPlayer(); int radius = (Integer) Setting.CLEAR_MOBS_RADIUS.getSetting(); for (Entity e : p.getNearbyEntities(radius, radius, radius)) { if (!(e instanceof LivingEntity)) { continue; } if (e != null && !data.isZAMob((LivingEntity) e) && !(e instanceof Player)) { if (e instanceof LivingEntity) { ((LivingEntity) e).setHealth(0); } else { e.remove(); } } } } } }