Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.util.Comparator;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- public class TopKillsPlugin extends JavaPlugin implements Listener {
- private Map<Player, Integer> playerKills = new HashMap<>();
- @Override
- public void onEnable() {
- Bukkit.getPluginManager().registerEvents(this, this);
- }
- @EventHandler
- public void onPlayerDeath(PlayerDeathEvent event) {
- Player victim = event.getEntity();
- Player killer = victim.getKiller();
- if (killer != null) {
- playerKills.put(killer, playerKills.getOrDefault(killer, 0) + 1);
- }
- }
- private void displayTopKills() {
- List<Player> topPlayers = playerKills.entrySet().stream()
- .sorted(Map.Entry.<Player, Integer>comparingByValue(Comparator.reverseOrder())
- .thenComparing(Map.Entry.comparingByKey()))
- .limit(10)
- .map(Map.Entry::getKey)
- .collect(Collectors.toList());
- Bukkit.broadcastMessage("Топ 10 по убийствам:");
- for (int i = 0; i < topPlayers.size(); i++) {
- Player player = topPlayers.get(i);
- int kills = playerKills.get(player);
- int position = i + 1;
- Bukkit.broadcastMessage(position + ". " + player.getName() + ": " + kills + " kills");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment