Add SWCommand.tabComplete repeatable
Dieser Commit ist enthalten in:
Ursprung
3f9850ce26
Commit
fc31501926
@ -65,12 +65,18 @@ public class SWCommand<T extends CommandSender> {
|
||||
}
|
||||
|
||||
public List<String> tabComplete(String[] args) {
|
||||
if (args.length > arguments.length) return new ArrayList<>();
|
||||
for (int i = 0; i < args.length - 1; i++) {
|
||||
if (args.length > arguments.length && !lastArgRepeatable) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
for (int i = 0; i < Math.min(args.length - 1, arguments.length - 1); i++) {
|
||||
if (!arguments[i].valueSupplier(args[i]).isPresent()) return new ArrayList<>();
|
||||
}
|
||||
int index = args.length - 1;
|
||||
return arguments[index].tabCompleteSupplier(args[index]).orElseGet(ArrayList::new);
|
||||
if (lastArgRepeatable) {
|
||||
for (int i = arguments.length; i < args.length; i++) {
|
||||
if (!arguments[arguments.length - 1].valueSupplier(args[i]).isPresent()) return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
return arguments[arguments.length - 1].tabCompleteSupplier(args[args.length - 1]).orElseGet(ArrayList::new);
|
||||
}
|
||||
|
||||
public static <T extends CommandSender> boolean execute(List<SWCommand<T>> swCommandList, T sender, String[] args) {
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren