ChestShop-3/src/main/java/com/Acrobot/ChestShop/Permission.java

61 lines
1.6 KiB
Java
Raw Normal View History

2011-05-15 19:33:03 +02:00
package com.Acrobot.ChestShop;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
/**
* @author Acrobot
*/
2011-05-29 13:25:25 +02:00
public enum Permission {
SHOP_CREATION_BUY("ChestShop.shop.create.buy"),
SHOP_CREATION_SELL("ChestShop.shop.create.sell"),
SHOP_CREATION_ID("ChestShop.shop.create."),
BUY("ChestShop.shop.buy"),
BUY_ID("ChestShop.shop.buy."),
SELL_ID("ChestShop.shop.sell."),
SELL("ChestShop.shop.sell"),
ADMIN("ChestShop.admin"),
MOD("ChestShop.mod"),
OTHER_NAME("ChestShop.name."),
GROUP("ChestShop.group."),
2012-08-24 10:24:20 +02:00
NOFEE("ChestShop.nofee"),
DISCOUNT("ChestShop.discount."),
NOTIFY_TOGGLE("ChestShop.toggle");
2011-05-29 13:25:25 +02:00
private final String permission;
Permission(String permission) {
this.permission = permission;
}
public static boolean has(CommandSender sender, Permission permission) {
return has(sender, permission.permission);
2011-05-29 13:25:25 +02:00
}
public static boolean has(CommandSender sender, String node) {
return sender.hasPermission(node) || sender.hasPermission(node.toLowerCase());
}
public static boolean otherName(Player player, String name) {
if (has(player, Permission.ADMIN)) {
return false;
}
return hasPermissionSet(player, OTHER_NAME + name) || hasPermissionSet(player, OTHER_NAME + name.toLowerCase());
}
private static boolean hasPermissionSet(CommandSender sender, String permission) {
return sender.isPermissionSet(permission) && sender.hasPermission(permission);
}
2011-06-09 22:54:01 +02:00
public String toString() {
return permission;
}
}