diff --git a/SpigotCore_Main/src/de/steamwar/command/SWCommand.java b/SpigotCore_Main/src/de/steamwar/command/SWCommand.java index bbd881d..d6e7c4b 100644 --- a/SpigotCore_Main/src/de/steamwar/command/SWCommand.java +++ b/SpigotCore_Main/src/de/steamwar/command/SWCommand.java @@ -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 { @@ -113,12 +114,14 @@ public class SWCommand { return strings; } - public static void register(List> commandList, String name, String... aliases) { - commandMap.register("steamwar", new Command(name, "", "/" + name, Arrays.asList(aliases)) { + public static void register(List> commandList, String plugin, String name, Predicate 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; }