diff options
3 files changed, 35 insertions, 0 deletions
diff --git a/Essentials/src/com/earth2me/essentials/api/IPermission.java b/Essentials/src/com/earth2me/essentials/api/IPermission.java new file mode 100644 index 000000000..5ce7a654b --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/api/IPermission.java @@ -0,0 +1,5 @@ +package com.earth2me.essentials.api; + +public interface IPermission { + String getPermission(); +} diff --git a/Essentials/src/com/earth2me/essentials/user/User.java b/Essentials/src/com/earth2me/essentials/user/User.java index 6c5d50a1f..780109409 100644 --- a/Essentials/src/com/earth2me/essentials/user/User.java +++ b/Essentials/src/com/earth2me/essentials/user/User.java @@ -86,6 +86,11 @@ public class User extends UserBase implements IUser return ess.getPermissionsHandler().hasPermission(base, node); } + + public boolean isAuthorized(IPermission permission) + { + return isAuthorized(permission.getPermission()); + } @Override public boolean isAuthorized(IEssentialsCommand cmd) diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java new file mode 100644 index 000000000..699af6a9b --- /dev/null +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java @@ -0,0 +1,25 @@ +package com.earth2me.essentials.protect; + +import com.earth2me.essentials.api.IPermission; +import java.util.Locale; + + +public enum Permissions implements IPermission +{ + PREVENTDAMAGE_FALL, + PREVENTDAMAGE_NONE + ; + private static final String base = "essentials.protect."; + private final String permission; + + private Permissions() + { + permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.'); + } + + @Override + public String getPermission() + { + return permission; + } +} |