/ajq send to replace /ajq player

This commit is contained in:
ajgeiss0702
2021-01-26 08:27:29 -07:00
parent 795c82add4
commit 81c2c13b0a
2 changed files with 64 additions and 22 deletions
+2
View File
@@ -112,6 +112,8 @@ public class Main extends Plugin implements Listener {
d.put("commands.pause.paused.true", "&epaused"); d.put("commands.pause.paused.true", "&epaused");
d.put("commands.pause.paused.false", "&aun-paused"); 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.header", "&9Queues:");
d.put("commands.listqueues.format", "{COLOR}{NAME}&7: {COUNT} queued"); d.put("commands.listqueues.format", "{COLOR}{NAME}&7: {COUNT} queued");
@@ -3,15 +3,17 @@ package us.ajg0702.queue.commands;
import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command; 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.Main;
import us.ajg0702.queue.Manager; import us.ajg0702.queue.Manager;
import us.ajg0702.queue.QueueServer; import us.ajg0702.queue.QueueServer;
import us.ajg0702.utils.bungee.BungeeMessages; import us.ajg0702.utils.bungee.BungeeMessages;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
public class ManageCommand extends Command { public class ManageCommand extends Command implements TabExecutor {
Main pl; Main pl;
BungeeMessages msgs; BungeeMessages msgs;
@@ -79,8 +81,12 @@ public class ManageCommand extends Command {
if(s == null) return; if(s == null) return;
sender.sendMessage(Main.formatMessage(s.getJoinableDebug((ProxiedPlayer) sender))); sender.sendMessage(Main.formatMessage(s.getJoinableDebug((ProxiedPlayer) sender)));
} }
if(args[0].equalsIgnoreCase("player")) { if(args[0].equalsIgnoreCase("send")) {
sender.sendMessage(Main.formatMessage("/ajQueue <player> <server>")); if(!sender.hasPermission("ajqueue.send")) {
sender.sendMessage(msgs.getBC("noperm"));
return;
}
sender.sendMessage(Main.formatMessage("/ajQueue send <player> <server>"));
return; return;
} }
if(args[0].equalsIgnoreCase("version")) { if(args[0].equalsIgnoreCase("version")) {
@@ -118,24 +124,12 @@ public class ManageCommand extends Command {
)); ));
return; return;
} }
if(args[0].equalsIgnoreCase("send")) {
if(!sender.hasPermission("ajqueue.send")) { if(!sender.hasPermission("ajqueue.send")) {
sender.sendMessage(msgs.getBC("noperm")); sender.sendMessage(msgs.getBC("noperm"));
return; return;
} }
sender.sendMessage(Main.formatMessage("/ajQueue send <player> <server>"));
List<String> 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]))
);
return; return;
} }
} }
@@ -161,9 +155,31 @@ public class ManageCommand extends Command {
)); ));
return; return;
} }
if(args[0].equalsIgnoreCase("send")) {
if(!sender.hasPermission("ajqueue.send")) {
sender.sendMessage(msgs.getBC("noperm"));
return;
} }
sender.sendMessage(Main.formatMessage("/ajqueue <reload|list|player|pause>")); List<String> 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 <reload|list|send|pause>"));
} }
private List<String> getNameList() { private List<String> getNameList() {
@@ -174,4 +190,28 @@ public class ManageCommand extends Command {
} }
return playerNames; return playerNames;
} }
@Override
public Iterable<String> 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;
}
} }