package com.github.jamesnorris.ablockalypse.threading.inherent;
import com.github.jamesnorris.ablockalypse.Ablockalypse;
import com.github.jamesnorris.ablockalypse.DataContainer;
import com.github.jamesnorris.ablockalypse.aspect.Claymore;
import com.github.jamesnorris.ablockalypse.aspect.ZAMob;
import com.github.jamesnorris.ablockalypse.threading.RepeatingTask;
public class ClaymoreActionTask extends RepeatingTask {
private static final int INTERVAL = 20;
private Claymore claymore;
private DataContainer data = Ablockalypse.getData();
public ClaymoreActionTask(Claymore claymore, boolean autorun) {
super(INTERVAL, autorun);
this.claymore = claymore;
}
@Override public void run() {
if (claymore == null || !claymore.getGame().hasStarted()) {
cancel();
return;
}
for (ZAMob mob : data.getObjectsOfType(ZAMob.class)) {
if (mob.getGame().getUUID().compareTo(claymore.getGame().getUUID()) == 0 && claymore.isWithinExplosionDistance(mob.getEntity().getLocation())) {
claymore.trigger();
cancel();
return;
}
}
}
}