From 4132a330375377ca6fd9661d688a31ee269a503b Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Wed, 17 Apr 2019 13:52:55 +0200 Subject: [PATCH] Perm changes --- .../src/main/java/buttondevteam/lib/chat/Command2.java | 2 +- .../src/main/java/buttondevteam/lib/chat/Command2MC.java | 6 ++++++ .../src/main/java/buttondevteam/lib/chat/CommandClass.java | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2.java index 79c8556..f080d23 100644 --- a/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2.java @@ -54,7 +54,7 @@ public abstract class Command2 /** * The main permission which allows using this command (individual access can be still granted with "thorpe.command.X"). - * Used to be "tbmc.admin" + * Used to be "tbmc.admin". The {@link #MOD_GROUP} is provided to use with this. */ String permGroup() default ""; //TODO } diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2MC.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2MC.java index 9761ea5..82933cd 100644 --- a/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2MC.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/Command2MC.java @@ -2,6 +2,9 @@ package buttondevteam.lib.chat; import buttondevteam.core.MainPlugin; import lombok.val; +import org.bukkit.Bukkit; +import org.bukkit.permissions.Permission; +import org.bukkit.permissions.PermissionDefault; import java.util.function.Function; @@ -9,12 +12,15 @@ public class Command2MC extends Command2 { @Override public void registerCommand(ICommand2MC command) { super.registerCommand(command, '/'); + Bukkit.getPluginManager().addPermission(new Permission("thorpe.command." + command.getCommandPath().replace(' ', '.'), + modOnly(command) ? PermissionDefault.OP : PermissionDefault.TRUE)); //Allow commands by default, unless it's mod only - TODO: Test } @Override public boolean hasPermission(Command2MCSender sender, ICommand2MC command) { return modOnly(command) ? MainPlugin.permission.has(sender.getSender(), "tbmc.admin") //TODO: Change when groups are implemented + //: MainPlugin.permission.has(sender.getSender(), permGroup()) - TODO: Check for subcommands (permGroup) : MainPlugin.permission.has(sender.getSender(), "thorpe.command." + command.getCommandPath().replace(' ', '.')); } diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java index aa497fd..bc17204 100755 --- a/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java @@ -44,4 +44,10 @@ public @interface CommandClass { * @return The help text */ String[] helpText() default {}; + + /** + * The main permission which allows using this command (individual access can be still granted with "thorpe.command.X"). + * Used to be "tbmc.admin" + */ + String permGroup() default ""; //TODO: A single annotation instead of these two }