diff --git a/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java b/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java index e6fb4a0..3a95ca1 100644 --- a/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java @@ -1,7 +1,9 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import org.bukkit.Bukkit; import org.bukkit.GameMode; +import org.bukkit.OfflinePlayer; import org.bukkit.World; import org.bukkit.WorldBorder; import org.bukkit.entity.Player; @@ -9,6 +11,10 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerLevelChangeEvent; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + public class WorldBorderLevelChallenge implements Listener { private final Challenges plugin = Challenges.getPlugin(); @@ -27,4 +33,16 @@ } } } + + private void levelaverage() { + ArrayList onlinePlayers = Bukkit.getOnlinePlayers().stream().map(Player::getName).collect(Collectors.toCollection(ArrayList::new)); + List vanishPlayers = plugin.getVanish().getVanishPlayerList(); + onlinePlayers.removeAll(vanishPlayers); + for (String playername : onlinePlayers) { + OfflinePlayer p = Bukkit.getOfflinePlayerIfCached(playername); + if (p != null && p.getPlayer() != null) { + p.getPlayer().getLevel(); + } + } + } } diff --git a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java index cd22a73..2db555c 100644 --- a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java +++ b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java @@ -148,7 +148,7 @@ @EventHandler public void onHealing(EntityRegainHealthEvent e) { if (plugin.getConfig().getBoolean("ultrahardcore")) { - if (e.getEntity() instanceof Player p) { + if (e.getEntity() instanceof Player) { e.setCancelled(true); } } diff --git a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java index 730b238..57ce33b 100644 --- a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java +++ b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java @@ -101,6 +101,10 @@ Challenges.LOGGER.info("Player Reset Task " + (Bukkit.getServer().getOnlinePlayers().size())); } + if (player == plugin.getCurrentEditor()) { + plugin.updateEditor(); + } + if (!plugin.getVanish().isVanish(player)) { e.setQuitMessage(null); ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + player.getName() + ChatColor.of("#C45B3D") + " hat die Lobby verlassen! " + ChatColor.of("#E4E737") + "[" + (Bukkit.getServer().getOnlinePlayers().size() - plugin.getVanish().countVanishPlayers() - 1) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); @@ -108,10 +112,6 @@ Bukkit.getPluginManager().callEvent(new PlayerCountChangedEvent(Bukkit.getOnlinePlayers().size() - plugin.getVanish().countVanishPlayers() - 1)); - if (player == plugin.getCurrentEditor()) { - plugin.updateEditor(); - } - if (plugin.isWaitingForShutdown() && Bukkit.getOnlinePlayers().size() == 1) { Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { Bukkit.getPluginManager().callEvent(new ServerStatusChangedEvent(false));