ProjectAres/PGM/src/main/java/tc/oc/pgm/ghostsquadron/RevealTask.java

50 lines
1.4 KiB
Java

package tc.oc.pgm.ghostsquadron;
import java.util.Iterator;
import java.util.Map;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffectType;
public class RevealTask implements Runnable {
public RevealTask(GhostSquadronMatchModule matchModule) {
this.matchModule = matchModule;
}
@Override
public void run() {
for(Iterator<Map.Entry<Player, RevealEntry>> it = this.matchModule.revealMap.entrySet().iterator(); it.hasNext(); ) {
Map.Entry<Player, RevealEntry> mapEntry = it.next();
Player player = mapEntry.getKey();
RevealEntry entry = mapEntry.getValue();
entry.potionTicks--;
entry.revealTicks--;
if(entry.potionTicks <= 0 || entry.revealTicks <= 0) {
it.remove();
if(entry.potionTicks > 0) {
PotionEffectType.INVISIBILITY.createEffect(entry.potionTicks, 1).apply(player);
}
}
}
}
final GhostSquadronMatchModule matchModule;
public static class RevealEntry {
public int revealTicks;
public int potionTicks;
public RevealEntry() {
this(0, 0);
}
public RevealEntry(int revealTicks, int potionTicks) {
this.revealTicks = revealTicks;
this.potionTicks = potionTicks;
}
}
}