diff --git a/src/main/java/de/fanta/challenges/challenges/DeathrunChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/DeathrunChallengeEvent.java index 581bf92..fc35c46 100644 --- a/src/main/java/de/fanta/challenges/challenges/DeathrunChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/DeathrunChallengeEvent.java @@ -2,8 +2,10 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.events.TimerChangedEvent; +import de.fanta.challenges.utils.ChatSkullAPI.ChatSkull; import de.fanta.challenges.utils.ChatUtil; import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -59,8 +61,17 @@ @EventHandler public void onTimerChange(TimerChangedEvent e) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun") && !e.isRunning()) { - //plugin.getScoreManager().getScores().values(). TODO müll + if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun")) { + if (!e.isRunning()) { + Map.Entry maxEntry = plugin.getScoreManager().getScores().entrySet().stream().max(Map.Entry.comparingByValue()).get(); + OfflinePlayer p = (Bukkit.getServer().getOfflinePlayer(maxEntry.getKey())); + if (p.isOnline()) { + String[] lines = {"", "", "", " " + ChatUtil.BLUE + p.getName(), ChatUtil.GREEN + " ist " + maxEntry.getValue() + " Blöcke gelaufen und", ChatUtil.GREEN + " hat damit gewonnen!", "", ""}; + ChatSkull.sendAll((Player) p, lines); + } else { + ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + maxEntry.getKey() + ChatUtil.GREEN + " ist " + maxEntry.getValue() + " Blöcke gelaufen und hat damit gewonnen!", ChatUtil.BLUE); + } + } } } diff --git a/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java b/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java index c947da4..2f69d00 100644 --- a/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java +++ b/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java @@ -38,6 +38,7 @@ } else { if (plugin.getConfig().getBoolean("event.enabled")) { GUIUtils.setConfig("event.enabled", false); + plugin.getTimer().stopTimer(); GUIUtils.sendTitleToAll("Event", "Event-Modus deaktiviert", ChatColor.RED); plugin.getScoreManager().saveScores(p); } else { diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java index 7608a75..56027a7 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java @@ -72,28 +72,27 @@ if (e.getInventory() == EVENT_GUI) { if (plugin.getConfig().getBoolean("event.enabled")) { switch (slot) { - case NULL_EVENT_INDEX -> { + case NULL_EVENT_INDEX: plugin.getScoreManager().saveScores(p); plugin.getScoreManager().resetScores(); GUIUtils.setConfig("event.type", "nix"); GUIUtils.sendTitleToAll("Event", "Event beendet", ChatColor.RED); - } - case BUILD_EVENT_INDEX -> { + break; + case BUILD_EVENT_INDEX: GUIUtils.setConfig("event.type", "build"); GUIUtils.sendTitleToAll("Event", "Baue die meisten Blöcke ab!", ChatColor.GREEN); - } - case XP_EVENT_INDEX -> { + break; + case XP_EVENT_INDEX: GUIUtils.setConfig("event.type", "xp"); GUIUtils.sendTitleToAll("Event", "Sammle so viel XP wie möglich ein!", ChatColor.GREEN); - } - case BINGO_EVENT_INDEX -> { + break; + case BINGO_EVENT_INDEX: GUIUtils.setConfig("event.type", "bingo"); GUIUtils.sendTitleToAll("Event", "Sammle Vorgegebene Items! (/bingo)", ChatColor.GREEN); - } - case DEATHRUN_EVENT_INDEX -> { + break; + case DEATHRUN_EVENT_INDEX: GUIUtils.setConfig("event.type", "deathrun"); GUIUtils.sendTitleToAll("Event", "Laufe so weit wie möglich ohne zu sterben!", ChatColor.GREEN); - } } createEventGUI(p);