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.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.function.BiConsumer;
|
import java.util.function.BiConsumer;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
public class SWCommand<T extends CommandSender> {
|
public class SWCommand<T extends CommandSender> {
|
||||||
|
|
||||||
@ -113,12 +114,14 @@ public class SWCommand<T extends CommandSender> {
|
|||||||
return strings;
|
return strings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends CommandSender> void register(List<SWCommand<T>> commandList, String name, String... aliases) {
|
public static <T extends CommandSender> void register(List<SWCommand<T>> commandList, String plugin, String name, Predicate<T> permissionPredicate, String... aliases) {
|
||||||
commandMap.register("steamwar", new Command(name, "", "/" + name, Arrays.asList(aliases)) {
|
commandMap.register(plugin, new Command(name, "", "/" + name, Arrays.asList(aliases)) {
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(CommandSender sender, String alias, String[] args) {
|
public boolean execute(CommandSender sender, String alias, String[] args) {
|
||||||
if (!isInstance(sender)) return false;
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren