allow you to send a whole server

This commit is contained in:
ajgeiss0702
2021-04-18 12:04:25 -07:00
parent 5d6cf791b5
commit a3f03d278f
2 changed files with 34 additions and 7 deletions
+1 -1
View File
@@ -72,7 +72,7 @@ public class Main extends Plugin implements Listener {
d.put("status.now-in-empty-queue", "");
d.put("status.sending-now", "&aSending you to &f{SERVER} &anow..");
d.put("errors.server-not-exist", "&cThat server does not exist!");
d.put("errors.server-not-exist", "&cThe server {SERVER} does not exist!");
d.put("errors.already-queued", "&cYou are already queued for that server!");
d.put("errors.player-only", "&cThis command can only be executed as a player!");
d.put("errors.already-connected", "&cYou are already connected to this server!");
@@ -1,6 +1,7 @@
package us.ajg0702.queue.commands;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
import net.md_5.bungee.api.plugin.TabExecutor;
@@ -109,7 +110,7 @@ public class ManageCommand extends Command implements TabExecutor {
return;
}
if(!Manager.getInstance().getServerNames().contains(args[1])) {
sender.sendMessage(msgs.getBC("errors.server-not-exist"));
sender.sendMessage(msgs.getBC("errors.server-not-exist", "SERVER:"+args[1]));
return;
}
QueueServer srv = Manager.getInstance().findServer(args[1]);
@@ -161,7 +162,12 @@ public class ManageCommand extends Command implements TabExecutor {
return;
}
List<String> playerNames = getNameList();
if(Manager.getInstance().getServer(args[2]) == null) {
sender.sendMessage(msgs.getBC("errors.server-not-exist", "SERVER:"+args[2]));
return;
}
List<String> playerNames = getNameList(true);
if(playerNames.contains(args[1].toLowerCase())) {
ProxiedPlayer ply = pl.getProxy().getPlayer(args[1]);
@@ -172,6 +178,21 @@ public class ManageCommand extends Command implements TabExecutor {
.replaceAll("\\{SERVER\\}", args[2]))
);
return;
} else if(pl.getProxy().getServers().keySet().contains(args[1])) {
ServerInfo from = pl.getProxy().getServerInfo(args[1]);
if(from == null) {
sender.sendMessage(msgs.getBC("errors.server-not-exist", "SERVER:"+args[1]));
return;
}
List<ProxiedPlayer> players = new ArrayList<>(from.getPlayers());
for(ProxiedPlayer ply : players) {
Manager.getInstance().addToQueue(ply, args[2]);
}
sender.sendMessage(msgs.getBC("send", "PLAYER:"+args[1], "SERVER:"+args[2]));
return;
} else {
sender.sendMessage(msgs.getBC("commands.send.player-not-found"));
return;
@@ -182,11 +203,15 @@ public class ManageCommand extends Command implements TabExecutor {
sender.sendMessage(Main.formatMessage("/ajqueue <reload|list|send|pause>"));
}
private List<String> getNameList() {
private List<String> getNameList(boolean lowercase) {
List<String> playerNames = new ArrayList<>();
for(ProxiedPlayer ply : pl.getProxy().getPlayers()) {
if(ply == null || !ply.isConnected()) continue;
playerNames.add(ply.getName().toLowerCase());
if(lowercase) {
playerNames.add(ply.getName().toLowerCase());
} else {
playerNames.add(ply.getName());
}
}
return playerNames;
}
@@ -198,7 +223,9 @@ public class ManageCommand extends Command implements TabExecutor {
}
if(args.length == 2) {
if(args[0].equalsIgnoreCase("send")) {
return getNameList();
List<String> options = new ArrayList<>(pl.getProxy().getServers().keySet());
options.addAll(getNameList(false));
return options;
}
if(args[0].equalsIgnoreCase("pause")) {
return Manager.getInstance().getServerNames();
@@ -212,6 +239,6 @@ public class ManageCommand extends Command implements TabExecutor {
return Arrays.asList("on", "off", "true", "false");
}
}
return null;
return new ArrayList<>();
}
}