SteamWar/SpigotCore
Archiviert
13
0

Simplify SWCommand.register

Dieser Commit ist enthalten in:
jojo 2020-12-31 13:05:43 +01:00
Ursprung a60fa5923c
Commit 45dc828d6c

Datei anzeigen

@ -31,6 +31,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Predicate;
public class SWCommand<T extends CommandSender> {
@ -113,12 +114,14 @@ public class SWCommand<T extends CommandSender> {
return strings;
}
public static <T extends CommandSender> void register(List<SWCommand<T>> commandList, String name, String... aliases) {
commandMap.register("steamwar", new Command(name, "", "/" + name, Arrays.asList(aliases)) {
public static <T extends CommandSender> void register(List<SWCommand<T>> commandList, String plugin, String name, Predicate<T> permissionPredicate, String... aliases) {
commandMap.register(plugin, new Command(name, "", "/" + name, Arrays.asList(aliases)) {
@Override
public boolean execute(CommandSender sender, String alias, String[] args) {
if (!isInstance(sender)) return false;
SWCommand.execute(commandList, (T) sender, args);
T t = (T) sender;
if (!permissionPredicate.test(t)) return false;
SWCommand.execute(commandList, t, args);
return true;
}