rezzy01

Untitled

Aug 28th, 2023
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. import org.bukkit.Bukkit;
  2. import org.bukkit.entity.Player;
  3. import org.bukkit.event.EventHandler;
  4. import org.bukkit.event.Listener;
  5. import org.bukkit.event.entity.PlayerDeathEvent;
  6. import org.bukkit.plugin.java.JavaPlugin;
  7.  
  8. import java.util.Comparator;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. import java.util.stream.Collectors;
  13.  
  14. public class TopKillsPlugin extends JavaPlugin implements Listener {
  15.  
  16. private Map<Player, Integer> playerKills = new HashMap<>();
  17.  
  18. @Override
  19. public void onEnable() {
  20. Bukkit.getPluginManager().registerEvents(this, this);
  21. }
  22.  
  23. @EventHandler
  24. public void onPlayerDeath(PlayerDeathEvent event) {
  25. Player victim = event.getEntity();
  26. Player killer = victim.getKiller();
  27.  
  28. if (killer != null) {
  29. playerKills.put(killer, playerKills.getOrDefault(killer, 0) + 1);
  30. }
  31. }
  32.  
  33. private void displayTopKills() {
  34. List<Player> topPlayers = playerKills.entrySet().stream()
  35. .sorted(Map.Entry.<Player, Integer>comparingByValue(Comparator.reverseOrder())
  36. .thenComparing(Map.Entry.comparingByKey()))
  37. .limit(10)
  38. .map(Map.Entry::getKey)
  39. .collect(Collectors.toList());
  40.  
  41. Bukkit.broadcastMessage("Топ 10 по убийствам:");
  42. for (int i = 0; i < topPlayers.size(); i++) {
  43. Player player = topPlayers.get(i);
  44. int kills = playerKills.get(player);
  45. int position = i + 1;
  46. Bukkit.broadcastMessage(position + ". " + player.getName() + ": " + kills + " kills");
  47. }
  48. }
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment