diff --git a/src/de/steamwar/lobby/util/Leaderboard.java b/src/de/steamwar/lobby/util/Leaderboard.java index afd8125..6b76369 100644 --- a/src/de/steamwar/lobby/util/Leaderboard.java +++ b/src/de/steamwar/lobby/util/Leaderboard.java @@ -31,6 +31,7 @@ public class Leaderboard implements Listener { private final Location location; private final int best; private long bestTime; + private final List entities = new ArrayList<>(); private final Map playerPlacements = new HashMap<>(); public Leaderboard(REntityServer server, String configKey, Location location, int best) { @@ -43,7 +44,8 @@ public class Leaderboard implements Listener { } public void update() { - server.getEntities().forEach(REntity::die); + entities.forEach(REntity::die); + entities.clear(); List leaderboard = getLeaderboard(); if (leaderboard.isEmpty()) return; bestTime = leaderboard.get(0).time; @@ -59,6 +61,7 @@ public class Leaderboard implements Listener { } entity.setDisplayName(calcName(user, color, i + 1, entry.time)); entity.setInvisible(true); + entities.add(entity); } Bukkit.getOnlinePlayers().forEach(player -> { updatePlayerPlacement(player, SteamwarUser.get(player.getUniqueId()));