Skip to content

Commit

Permalink
Add tab completes for console-only commands
Browse files Browse the repository at this point in the history
  • Loading branch information
ME1312 committed Jan 17, 2019
1 parent 36c33b3 commit cd5bdba
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubCommand.java
Expand Up @@ -638,7 +638,9 @@ private String[] printHelp() {
public NamedContainer<String, List<String>> suggestArguments(CommandSender sender, String[] args) {
String last = (args.length > 0)?args[args.length - 1].toLowerCase():"";
if (args.length <= 1) {
List<String> cmds = Arrays.asList("help", "list", "info", "status", "version", "start", "stop", "kill", "terminate", "cmd", "command", "create");
List<String> cmds = new ArrayList<>();
cmds.addAll(Arrays.asList("help", "list", "info", "status", "version", "start", "stop", "kill", "terminate", "cmd", "command", "create"));
if (!(sender instanceof ProxiedPlayer)) cmds.addAll(Arrays.asList("reload", "sudo", "screen", "delete"));
if (last.length() == 0) {
return new NamedContainer<>(null, cmds);
} else {
Expand Down Expand Up @@ -745,9 +747,28 @@ public NamedContainer<String, List<String>> suggestArguments(CommandSender sende
} else {
return new NamedContainer<>(null, Collections.emptyList());
}
} else if (!(sender instanceof ProxiedPlayer) && args[0].equals("reload")) {
List<String> list = new ArrayList<String>(),
completes = Arrays.asList("all", "config", "templates");
if (args.length == 2) {
if (last.length() == 0) {
list = completes;
} else {
for (String complete : completes) {
if (complete.toLowerCase().startsWith(last)) list.add(last + complete.substring(last.length()));
}
}
return new NamedContainer<>((list.size() <= 0)?plugin.api.getLang("SubServers", "Command.Generic.Unknown").replace("$str$", args[0]):null, list);
} else {
return new NamedContainer<>(null, Collections.emptyList());
}
} else if (args[0].equals("start") ||
args[0].equals("restart")) {
List<String> list = new ArrayList<String>();
args[0].equals("restart") ||
(!(sender instanceof ProxiedPlayer) && (
args[0].equals("sudo") || args[0].equals("screen") ||
args[0].equals("del") || args[0].equals("delete")
))) {
List<String> list = new ArrayList<String>();
if (args.length == 2) {
if (last.length() == 0) {
for (SubServer server : plugin.api.getSubServers().values()) list.add(server.getName());
Expand Down

0 comments on commit cd5bdba

Please sign in to comment.