From 81c2c13b0a1119a53427a2b94cc8967d52a39f27 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Tue, 26 Jan 2021 08:27:29 -0700 Subject: [PATCH] /ajq send to replace /ajq player --- src/main/java/us/ajg0702/queue/Main.java | 2 + .../ajg0702/queue/commands/ManageCommand.java | 84 ++++++++++++++----- 2 files changed, 64 insertions(+), 22 deletions(-) diff --git a/src/main/java/us/ajg0702/queue/Main.java b/src/main/java/us/ajg0702/queue/Main.java index 84c72b1..dc4d5d2 100644 --- a/src/main/java/us/ajg0702/queue/Main.java +++ b/src/main/java/us/ajg0702/queue/Main.java @@ -112,6 +112,8 @@ public class Main extends Plugin implements Listener { d.put("commands.pause.paused.true", "&epaused"); d.put("commands.pause.paused.false", "&aun-paused"); + d.put("commands.send.player-not-found", "&cThat player could not be found. Make sure they are online!"); + d.put("commands.listqueues.header", "&9Queues:"); d.put("commands.listqueues.format", "{COLOR}{NAME}&7: {COUNT} queued"); diff --git a/src/main/java/us/ajg0702/queue/commands/ManageCommand.java b/src/main/java/us/ajg0702/queue/commands/ManageCommand.java index e759e2f..045a8b6 100644 --- a/src/main/java/us/ajg0702/queue/commands/ManageCommand.java +++ b/src/main/java/us/ajg0702/queue/commands/ManageCommand.java @@ -3,15 +3,17 @@ package us.ajg0702.queue.commands; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Command; +import net.md_5.bungee.api.plugin.TabExecutor; import us.ajg0702.queue.Main; import us.ajg0702.queue.Manager; import us.ajg0702.queue.QueueServer; import us.ajg0702.utils.bungee.BungeeMessages; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; -public class ManageCommand extends Command { +public class ManageCommand extends Command implements TabExecutor { Main pl; BungeeMessages msgs; @@ -79,8 +81,12 @@ public class ManageCommand extends Command { if(s == null) return; sender.sendMessage(Main.formatMessage(s.getJoinableDebug((ProxiedPlayer) sender))); } - if(args[0].equalsIgnoreCase("player")) { - sender.sendMessage(Main.formatMessage("/ajQueue ")); + if(args[0].equalsIgnoreCase("send")) { + if(!sender.hasPermission("ajqueue.send")) { + sender.sendMessage(msgs.getBC("noperm")); + return; + } + sender.sendMessage(Main.formatMessage("/ajQueue send ")); return; } if(args[0].equalsIgnoreCase("version")) { @@ -118,24 +124,12 @@ public class ManageCommand extends Command { )); return; } - - - - if(!sender.hasPermission("ajqueue.send")) { - sender.sendMessage(msgs.getBC("noperm")); - return; - } - - List playerNames = getNameList(); - if(playerNames.contains(args[0].toLowerCase())) { - - ProxiedPlayer ply = pl.getProxy().getPlayer(args[0]); - Manager.getInstance().addToQueue(ply, args[1]); - sender.sendMessage(Main.formatMessage( - msgs.get("send") - .replaceAll("\\{PLAYER\\}", ply.getDisplayName()) - .replaceAll("\\{SERVER\\}", args[1])) - ); + if(args[0].equalsIgnoreCase("send")) { + if(!sender.hasPermission("ajqueue.send")) { + sender.sendMessage(msgs.getBC("noperm")); + return; + } + sender.sendMessage(Main.formatMessage("/ajQueue send ")); return; } } @@ -161,9 +155,31 @@ public class ManageCommand extends Command { )); return; } + if(args[0].equalsIgnoreCase("send")) { + if(!sender.hasPermission("ajqueue.send")) { + sender.sendMessage(msgs.getBC("noperm")); + return; + } + + List playerNames = getNameList(); + if(playerNames.contains(args[1].toLowerCase())) { + + ProxiedPlayer ply = pl.getProxy().getPlayer(args[1]); + Manager.getInstance().addToQueue(ply, args[2]); + sender.sendMessage(Main.formatMessage( + msgs.get("send") + .replaceAll("\\{PLAYER\\}", ply.getDisplayName()) + .replaceAll("\\{SERVER\\}", args[2])) + ); + return; + } else { + sender.sendMessage(msgs.getBC("commands.send.player-not-found")); + return; + } + } } - sender.sendMessage(Main.formatMessage("/ajqueue ")); + sender.sendMessage(Main.formatMessage("/ajqueue ")); } private List getNameList() { @@ -174,4 +190,28 @@ public class ManageCommand extends Command { } return playerNames; } + + @Override + public Iterable onTabComplete(CommandSender sender, String[] args) { + if(args.length == 1) { + return Arrays.asList("reload", "list", "send", "pause"); + } + if(args.length == 2) { + if(args[0].equalsIgnoreCase("send")) { + return getNameList(); + } + if(args[0].equalsIgnoreCase("pause")) { + return Manager.getInstance().getServerNames(); + } + } + if(args.length == 3) { + if(args[0].equalsIgnoreCase("send")) { + return Manager.getInstance().getServerNames(); + } + if(args[0].equalsIgnoreCase("pause")) { + return Arrays.asList("on", "off", "true", "false"); + } + } + return null; + } }