forked from SteamWar/SteamWar
Fix ConcurrentModificationException through death in loop
This commit is contained in:
@@ -29,6 +29,7 @@ import de.steamwar.towerrun.state.GameStates;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
@@ -83,14 +84,16 @@ public class IngameListener extends GameStateBukkitListener {
|
||||
.min(Comparator.comparing(Function.identity()))
|
||||
.orElse(0.0);
|
||||
|
||||
List<Player> toDamage = new ArrayList<>();
|
||||
TowerRunGame.PLAYERS_ALIVE.forEach(towerRunPlayer -> {
|
||||
if (towerRunPlayer.player().getLocation().getY() - minY > 20) {
|
||||
towerRunPlayer.player().sendTitle("§a", TowerRun.getMessage().parse("CATCH_UP_WARNING", towerRunPlayer.player()), 5, 30, 5);
|
||||
}
|
||||
if (towerRunPlayer.player().getLocation().getY() - minY > 30) {
|
||||
towerRunPlayer.player().damage(1.0);
|
||||
toDamage.add(towerRunPlayer.player());
|
||||
}
|
||||
});
|
||||
toDamage.forEach(p -> p.damage(1.0));
|
||||
}
|
||||
};
|
||||
antiCampRunnable.runTaskTimer(TowerRun.getInstance(), 100, 100);
|
||||
|
||||
Reference in New Issue
Block a user