Simplify SWCommand.register
Dieser Commit ist enthalten in:
Ursprung
a60fa5923c
Commit
45dc828d6c
@ -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;
|
||||
}
|
||||
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren