summaryrefslogtreecommitdiffstats
path: root/EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java
diff options
context:
space:
mode:
authorementalo <ementalodev@gmx.co.uk>2012-09-27 15:27:25 +0100
committerementalo <ementalodev@gmx.co.uk>2012-09-27 15:27:25 +0100
commit0283adb8c519c82a9d36951cb169811134936b0e (patch)
treeecd9eefb92ec3b6903db68f98f253b16ba450e1c /EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java
parent622877dabe24fa623ea6bf88f736086741e4de36 (diff)
downloadEssentials-0283adb8c519c82a9d36951cb169811134936b0e.tar
Essentials-0283adb8c519c82a9d36951cb169811134936b0e.tar.gz
Essentials-0283adb8c519c82a9d36951cb169811134936b0e.tar.lz
Essentials-0283adb8c519c82a9d36951cb169811134936b0e.tar.xz
Essentials-0283adb8c519c82a9d36951cb169811134936b0e.zip
Updating antibuild to use 3.0 configs and perms.
AntiBuild listener still has some conversions to do
Diffstat (limited to 'EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java')
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java177
1 files changed, 177 insertions, 0 deletions
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java b/EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java
new file mode 100644
index 000000000..7088fb0e0
--- /dev/null
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java
@@ -0,0 +1,177 @@
+package net.ess3.antibuild;
+
+import java.util.EnumMap;
+import java.util.Locale;
+import net.ess3.api.IPermission;
+import net.ess3.bukkit.PermissionFactory;
+import net.ess3.permissions.BasePermission;
+import org.bukkit.Material;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
+
+
+public enum Permissions implements IPermission
+{
+
+ BLACKLIST_ALLOWPLACEMENT,
+ BLACKLIST_ALLOWUSAGE,
+ BLACKLIST_ALLOWBREAK,
+ ALERTS,
+ ALERTS_NOTRIGGER;
+ private static final String base = "essentials.build.";
+ 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 getPermissionName()
+ {
+ return permission;
+ }
+
+ @Override
+ public Permission getPermission()
+ {
+ if (bukkitPerm != null)
+ {
+ return bukkitPerm;
+ }
+ else
+ {
+ return PermissionFactory.registerPermission(getPermissionName(), getPermissionDefault());
+ }
+ }
+
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return this.defaultPerm;
+ }
+
+ @Override
+ public boolean isAuthorized(final CommandSender sender)
+ {
+ return sender.hasPermission(getPermission());
+ }
+
+ private static EnumMap<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
+
+ public static IPermission getPlacePermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.place.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getBreakPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.break.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getInteractPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.interact.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+ public static IPermission getCraftPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.craft.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getPickupPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.pickup.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getDropPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.drop.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+}