summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/net/ess3/protect/Permissions.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsProtect/src/net/ess3/protect/Permissions.java')
-rw-r--r--EssentialsProtect/src/net/ess3/protect/Permissions.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/EssentialsProtect/src/net/ess3/protect/Permissions.java b/EssentialsProtect/src/net/ess3/protect/Permissions.java
new file mode 100644
index 000000000..37042618b
--- /dev/null
+++ b/EssentialsProtect/src/net/ess3/protect/Permissions.java
@@ -0,0 +1,81 @@
+package net.ess3.protect;
+
+import net.ess3.api.IPermission;
+import net.ess3.utils.Util;
+import java.util.Locale;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
+
+
+public enum Permissions implements IPermission
+{
+ ALERTS,
+ ALERTS_NOTRIGGER,
+ ADMIN,
+ BUILD(PermissionDefault.TRUE),
+ ENTITYTARGET(PermissionDefault.TRUE),
+ INTERACT(PermissionDefault.TRUE),
+ OWNERINFO,
+ PVP(PermissionDefault.TRUE),
+ PREVENTDAMAGE_FALL(PermissionDefault.FALSE),
+ PREVENTDAMAGE_CREEPER(PermissionDefault.FALSE),
+ PREVENTDAMAGE_CONTACT(PermissionDefault.FALSE),
+ PREVENTDAMAGE_FIREBALL(PermissionDefault.FALSE),
+ PREVENTDAMAGE_PROJECTILES(PermissionDefault.FALSE),
+ PREVENTDAMAGE_LAVADAMAGE(PermissionDefault.FALSE),
+ PREVENTDAMAGE_TNT(PermissionDefault.FALSE),
+ PREVENTDAMAGE_SUFFOCATION(PermissionDefault.FALSE),
+ PREVENTDAMAGE_FIRE(PermissionDefault.FALSE),
+ PREVENTDAMAGE_DROWNING(PermissionDefault.FALSE),
+ PREVENTDAMAGE_LIGHTNING(PermissionDefault.FALSE),
+ PREVENTDAMAGE_NONE(PermissionDefault.FALSE),
+ RAILS(PermissionDefault.TRUE),
+ USEFLINTSTEEL(PermissionDefault.TRUE);
+ private static final String base = "essentials.protect.";
+ private final String permission;
+ private final PermissionDefault defaultPerm;
+ private transient Permission bukkitPerm = null;
+
+ private Permissions()
+ {
+ this(PermissionDefault.OP);
+ }
+
+ private Permissions(final PermissionDefault defaultPerm)
+ {
+ permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.');
+ this.defaultPerm = defaultPerm;
+ }
+
+ @Override
+ public String getPermission()
+ {
+ return permission;
+ }
+
+ @Override
+ public Permission getBukkitPermission()
+ {
+ if (bukkitPerm != null)
+ {
+ return bukkitPerm;
+ }
+ else
+ {
+ return Util.registerPermission(getPermission(), getPermissionDefault());
+ }
+ }
+
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return this.defaultPerm;
+ }
+
+ @Override
+ public boolean isAuthorized(final CommandSender sender)
+ {
+ return sender.hasPermission(getBukkitPermission());
+ }
+}