diff --git a/src/main/java/us/ajg0702/queue/Main.java b/src/main/java/us/ajg0702/queue/Main.java index 666d3e3..9852c7b 100644 --- a/src/main/java/us/ajg0702/queue/Main.java +++ b/src/main/java/us/ajg0702/queue/Main.java @@ -36,8 +36,7 @@ public class Main extends Plugin implements Listener { msgs = BungeeMessages.getInstance(this); this.getProxy().getPluginManager().registerCommand(this, new MoveCommand(this)); - //this.getProxy().getPluginManager().registerCommand(this, new QueueCommand(this)); - //this.getProxy().getPluginManager().registerCommand(this, new ServerCommand(this)); + this.getProxy().getPluginManager().registerCommand(this, new ManageCommand(this)); this.getProxy().getPluginManager().registerListener(this, this); diff --git a/src/main/java/us/ajg0702/queue/ManageCommand.java b/src/main/java/us/ajg0702/queue/ManageCommand.java new file mode 100644 index 0000000..4e48613 --- /dev/null +++ b/src/main/java/us/ajg0702/queue/ManageCommand.java @@ -0,0 +1,64 @@ +package us.ajg0702.queue; + +import java.util.List; + +import net.md_5.bungee.api.CommandSender; +import net.md_5.bungee.api.connection.ProxiedPlayer; +import net.md_5.bungee.api.plugin.Command; +import us.ajg0702.queue.utils.BungeeMessages; + +public class ManageCommand extends Command { + + Main pl; + BungeeMessages msgs; + + public ManageCommand(Main pl) { + super("ajqueue", null, "ajq"); + this.pl = pl; + msgs = BungeeMessages.getInstance(); + } + + + + @Override + public void execute(CommandSender sender, String[] args) { + if(args.length == 1) { + if(args[0].equalsIgnoreCase("reload")) { + if(!sender.hasPermission("ajqueue.reload")) { + sender.sendMessage(msgs.getBC("noperm")); + return; + } + msgs.reload(); + pl.getConfig().reload(); + sender.sendMessage(msgs.getBC("commands.reload")); + return; + + } + if(args[0].equalsIgnoreCase("list")) { + int total = 0; + for(String server : pl.queues.keySet()) { + + String msg = msgs.get("list.format").replaceAll("\\{SERVER\\}", server); + String playerlist = ""; + List players = pl.queues.get(server); + if(msg.contains("{LIST}")) { + for(ProxiedPlayer p : players) { + playerlist += msgs.get("list.playerlist").replaceAll("\\{NAME\\}", p.getDisplayName()); + } + if(playerlist.equalsIgnoreCase("")) { + playerlist = msgs.color("&7None, "); + } + playerlist = playerlist.substring(0, playerlist.length()-2); + msg = msg.replaceAll("\\{LIST\\}", playerlist); + } + total += players.size(); + msg = msg.replaceAll("\\{COUNT\\}", players.size()+""); + sender.sendMessage(Main.formatMessage(msg)); + } + sender.sendMessage(Main.formatMessage(msgs.get("list.total").replaceAll("\\{TOTAL\\}", total+""))); + return; + } + } + + sender.sendMessage(Main.formatMessage("/ajqueue ")); + }} diff --git a/src/main/java/us/ajg0702/queue/MoveCommand.java b/src/main/java/us/ajg0702/queue/MoveCommand.java index ead4e81..d960145 100644 --- a/src/main/java/us/ajg0702/queue/MoveCommand.java +++ b/src/main/java/us/ajg0702/queue/MoveCommand.java @@ -3,6 +3,7 @@ package us.ajg0702.queue; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Command; + import us.ajg0702.queue.utils.BungeeMessages; public class MoveCommand extends Command { @@ -22,14 +23,6 @@ public class MoveCommand extends Command { } ProxiedPlayer p = (ProxiedPlayer) sender; if(args.length > 0) { - if(args[0].equalsIgnoreCase("reload")) { - if(!sender.hasPermission("ajqueue.reload")) { - sender.sendMessage(msgs.getBC("noperm")); - return; - } - msgs.reload(); - return; - } plugin.addToQueue(p, args[0]); } else if(args.length == 0) { String queue = plugin.getPlayerInQueue((ProxiedPlayer) sender); diff --git a/src/main/java/us/ajg0702/queue/utils/BungeeMessages.java b/src/main/java/us/ajg0702/queue/utils/BungeeMessages.java index 3b79c91..c9cb1cb 100644 --- a/src/main/java/us/ajg0702/queue/utils/BungeeMessages.java +++ b/src/main/java/us/ajg0702/queue/utils/BungeeMessages.java @@ -72,6 +72,10 @@ public class BungeeMessages { d.put("format.time.mins", "{m}m {s}s"); d.put("format.time.secs", "{s} seconds"); + d.put("list.format", "&b{SERVER} &7({COUNT}): {LIST}"); + d.put("list.playerlist", "&9{NAME}&7, "); + d.put("list.total", "&7Total players in queues: &f{TOTAL}"); + for(String k : d.keySet()) { if(!msgs.contains(k)) { @@ -88,13 +92,16 @@ public class BungeeMessages { public String get(String key) { String msg = msgs.get(key, "&cMessage '"+key+"' does not exist!"); - msg = net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', msg); + msg = color(msg); return msg; } public BaseComponent[] getBC(String key) { String m = get(key); return TextComponent.fromLegacyText(m); } + public String color(String msg) { + return net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', msg); + } public void reload() { loadMessagesFile();