From 14aba0ffb3d22ee2b472e0869d773f298ebcb8c4 Mon Sep 17 00:00:00 2001 From: Tux Date: Thu, 12 Dec 2013 15:29:29 -0500 Subject: [PATCH] Simplify /glist showall code. --- .../minecraft/redisbungee/RedisBungeeCommands.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeCommands.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeCommands.java index 3b66ad0..c8ea9f2 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeCommands.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeCommands.java @@ -7,8 +7,9 @@ package com.imaginarycode.minecraft.redisbungee; import com.google.common.base.Joiner; -import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; +import com.google.common.collect.Ordering; +import com.google.common.collect.TreeMultimap; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.config.ServerInfo; @@ -38,15 +39,13 @@ public class RedisBungeeCommands { int count = RedisBungee.getApi().getPlayerCount(); if (args.length > 0 && args[0].equals("showall")) { if (RedisBungee.getConfiguration().isCanonicalGlist()) { - Multimap serverToPlayers = HashMultimap.create(); + Multimap serverToPlayers = TreeMultimap.create(Ordering.natural(), Ordering.allEqual()); for (String p : RedisBungee.getApi().getPlayersOnline()) { ServerInfo si = RedisBungee.getApi().getServerFor(p); if (si != null) serverToPlayers.put(si.getName(), p); } - if (serverToPlayers.size() == 0) return; - Set sortedServers = new TreeSet<>(serverToPlayers.keySet()); - for (String server : sortedServers) + for (String server : serverToPlayers.keySet()) sender.sendMessage(ChatColor.GREEN + "[" + server + "] " + ChatColor.YELLOW + "(" + serverToPlayers.get(server).size() + "): " + ChatColor.WHITE + Joiner.on(", ").join(serverToPlayers.get(server)));