50 lines
1.4 KiB
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;
|
|
}
|
|
}
|
|
}
|