FastAsyncWorldedit/src/main/java/com/boydti/fawe/util/Perm.java

45 lines
1.1 KiB
Java

package com.boydti.fawe.util;
import com.boydti.fawe.object.FawePlayer;
public enum Perm {
/*
* Permission related functions
*/
ADMIN("fawe.admin", "admin");
public String s;
public String cat;
Perm(final String perm, final String cat) {
s = perm;
this.cat = cat;
}
public boolean has(final FawePlayer<?> player) {
return hasPermission(player, this);
}
public boolean hasPermission(final FawePlayer<?> player, final Perm perm) {
return hasPermission(player, perm.s);
}
public static boolean hasPermission(final FawePlayer<?> player, final String perm) {
if ((player == null) || player.hasPermission(ADMIN.s)) {
return true;
}
if (player.hasPermission(perm)) {
return true;
}
final String[] nodes = perm.split("\\.");
final StringBuilder n = new StringBuilder();
for (int i = 0; i < (nodes.length - 1); i++) {
n.append(nodes[i] + ("."));
if (player.hasPermission(n + "*")) {
return true;
}
}
return false;
}
}