Allowing commands to be run on all servers using '*' identifier

This commit is contained in:
Kyle Melton 2017-04-23 13:56:09 -06:00
parent 418d1a380e
commit 958bc190a2
1 changed files with 10 additions and 2 deletions

View File

@ -110,7 +110,7 @@ public final class SubCommand extends Command implements TabExecutor {
} else if (args[0].equalsIgnoreCase("cmd") || args[0].equalsIgnoreCase("command")) {
if (args.length > 2) {
Map<String, Server> servers = plugin.api.getServers();
if (!servers.keySet().contains(args[1].toLowerCase())) {
if (!(servers.keySet().contains(args[1].toLowerCase()) || args[1].equals("*"))) {
sender.sendMessage("SubServers > There is no server with that name");
} else if (!(servers.get(args[1].toLowerCase()) instanceof SubServer)) {
sender.sendMessage("SubServers > That Server is not a SubServer");
@ -125,7 +125,15 @@ public final class SubCommand extends Command implements TabExecutor {
str = str + " " + args[i];
} while ((i + 1) != args.length);
}
((SubServer) servers.get(args[1].toLowerCase())).command(str);
if (args[1].equals("*")) {
for (Server server : servers.values()) {
if (((SubServer) server).isRunning()) {
((SubServer) server).command(str);
}
}
} else {
((SubServer) servers.get(args[1].toLowerCase())).command(str);
}
}
} else {
sender.sendMessage("SubServers > Usage: " + label + " " + args[0].toLowerCase() + " <SubServer> <Command> [Args...]");