SteamWar/SpigotCore
Archiviert
13
0

CommandFramework3 #94

Manuell gemergt
Zeanon hat 71 Commits von CommandFramework3 nach master 2021-03-30 21:15:40 +02:00 zusammengeführt
Nur Änderungen aus Commit ed0ee1b0a7 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -21,10 +21,13 @@ package de.steamwar.command;
import org.bukkit.command.CommandSender;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Function;
@ -103,8 +106,33 @@ class SubCommand {
}
List<String> tabComplete(CommandSender commandSender, String[] args) {
Veraltet
Review

Entweder du behandelst im SWCommand nicht den Fall null, oder du returnst immer eine leere Liste. Bitte nicht beides zeitgleich.

Entweder du behandelst im SWCommand nicht den Fall null, oder du returnst immer eine leere Liste. Bitte nicht beides zeitgleich.
Veraltet
Review

Denn fall null behandle ich eigentlich wegen unsauberen TabCompletern, die eigengeschrieben sind.

Denn fall null behandle ich eigentlich wegen unsauberen TabCompletern, die eigengeschrieben sind.
Veraltet
Review

Dann nutze doch auch einfach immer null.

Dann nutze doch auch einfach immer null.
// TODO: implement tabCompleting for SubCommand
return null;
List<String> argsList = Arrays.asList(args);
for (int i = 0; i < subCommand.length; i++) {
String s = argsList.remove(0);
if (argsList.isEmpty()) return Collections.singletonList(subCommand[i]);
if (!subCommand[i].equals(s)) return Collections.emptyList();
}
for (int i = 0; i < arguments.length; i++) {
String s = argsList.remove(0);
if (argsList.isEmpty()) return arguments[i].tabCompletes(s);
try {
arguments[i].map(s);
} catch (Exception e) {
return Collections.emptyList();
}
}
if (varArgs && !argsList.isEmpty()) {
while (!argsList.isEmpty()) {
String s = argsList.remove(0);
if (argsList.isEmpty()) return arguments[arguments.length - 1].tabCompletes(s);
try {
arguments[arguments.length - 1].map(s);
} catch (Exception e) {
return Collections.emptyList();
}
}
}
return Collections.emptyList();
}
}