Skip to content

Commit

Permalink
Complete Emerald Forge
Browse files Browse the repository at this point in the history
  • Loading branch information
MetallicGoat committed Mar 26, 2023
1 parent da1fd44 commit 3075689
Showing 1 changed file with 16 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,26 @@
import me.metallicgoat.tweaksaddon.config.ConfigValue;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

import java.util.*;

public class TopKillerMessage implements Listener {

public static HashMap<Arena, Collection<Player>> arenaPlayers = new HashMap<>();

@EventHandler
public void onRoundStart(RoundEndEvent event){
if (!ConfigValue.top_killer_message_enabled)
return;

final Arena arena = event.getArena();

arenaPlayers.put(arena, arena.getPlayers());
}

@EventHandler
public void onGameOver(RoundEndEvent event) {
if (!ConfigValue.top_killer_message_enabled)
Expand All @@ -26,14 +39,15 @@ public void onGameOver(RoundEndEvent event) {
final HashMap<OfflinePlayer, Integer> nameIntMap = new HashMap<>();

// Online Players
for (OfflinePlayer player : arena.getPlayers())
for (OfflinePlayer player : arenaPlayers.get(arena))
addStatsToMap(nameIntMap, player);

// Offline Players
for (QuitPlayerMemory memory : arena.getQuitPlayerMemories())
addStatsToMap(nameIntMap, Bukkit.getOfflinePlayer(memory.getUniqueId()));

printMessage(arena, sortHashMapByValue(nameIntMap));
arenaPlayers.remove(arena);
}

// TODO this bad
Expand All @@ -42,7 +56,6 @@ private void printMessage(Arena arena, HashMap<OfflinePlayer, Integer> playerInt

// There is Killers
if (!playerIntegerMap.isEmpty()) {

for (String line : ConfigValue.top_killer_pre_lines)
formattedList.add(Message.build(line).done());

Expand Down Expand Up @@ -84,7 +97,7 @@ private void addStatsToMap(HashMap<OfflinePlayer, Integer> nameIntMap, OfflinePl
if(player == null)
return;

final Optional<PlayerStats> stats = PlayerDataAPI.get().getStatsNow(player);
final Optional<PlayerStats> stats = PlayerDataAPI.get().getStatsNow(player);

if(!stats.isPresent())
return;
Expand Down

0 comments on commit 3075689

Please sign in to comment.