mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2026-02-21 03:03:02 +01:00
craftbukkit dep. (ColoredConsoleSender isn't in bukkit, if you are building this, switch to cb for now in your library deps.) UNTESTED.
316 lines
8.9 KiB
Java
316 lines
8.9 KiB
Java
package com.gmail.nossr50;
|
|
|
|
import java.util.logging.Logger;
|
|
|
|
import org.bukkit.Server;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.Plugin;
|
|
|
|
import ru.tehkode.permissions.PermissionManager;
|
|
import ru.tehkode.permissions.bukkit.PermissionsEx;
|
|
|
|
import com.nijiko.permissions.PermissionHandler;
|
|
import com.nijikokun.bukkit.Permissions.Permissions;
|
|
|
|
public class mcPermissions
|
|
{
|
|
private static volatile mcPermissions instance;
|
|
|
|
private enum PermissionType {
|
|
PEX, PERMISSIONS, BUKKIT
|
|
}
|
|
|
|
private static PermissionType permissionType;
|
|
private static Object PHandle;
|
|
public static boolean permissionsEnabled = false;
|
|
|
|
public static void initialize(Server server)
|
|
{
|
|
Logger log = Logger.getLogger("Minecraft");
|
|
|
|
if(permissionsEnabled && permissionType != PermissionType.PERMISSIONS) return;
|
|
|
|
Plugin PEXtest = server.getPluginManager().getPlugin("PermissionsEx");
|
|
Plugin test = server.getPluginManager().getPlugin("Permissions");
|
|
if(PEXtest != null) {
|
|
PHandle = (PermissionManager) PermissionsEx.getPermissionManager();
|
|
permissionType = PermissionType.PEX;
|
|
permissionsEnabled = true;
|
|
log.info("[mcMMO] PermissionsEx found, using PermissionsEx.");
|
|
} else if(test != null) {
|
|
PHandle = (PermissionHandler) ((Permissions) test).getHandler();
|
|
permissionType = PermissionType.PERMISSIONS;
|
|
permissionsEnabled = true;
|
|
log.info("[mcMMO] Permissions version "+test.getDescription().getVersion()+" found, using Permissions.");
|
|
} else {
|
|
permissionType = PermissionType.BUKKIT;
|
|
permissionsEnabled = true;
|
|
log.info("[mcMMO] Using Bukkit Permissions.");
|
|
}
|
|
}
|
|
|
|
public static boolean getEnabled()
|
|
{
|
|
return permissionsEnabled;
|
|
}
|
|
|
|
public static boolean permission(Player player, String permission)
|
|
{
|
|
if(!permissionsEnabled) return player.isOp();
|
|
switch(permissionType) {
|
|
case PEX:
|
|
return ((PermissionManager) PHandle).has(player, permission);
|
|
case PERMISSIONS:
|
|
return ((PermissionHandler) PHandle).has(player, permission);
|
|
case BUKKIT:
|
|
return player.hasPermission(permission);
|
|
default:
|
|
return true;
|
|
}
|
|
}
|
|
public boolean admin(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.admin");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean mcrefresh(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.tools.mcrefresh");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean mmoedit(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.tools.mmoedit");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean herbalismAbility(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.ability.herbalism");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean excavationAbility(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.ability.excavation");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean unarmedAbility(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.ability.unarmed");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean chimaeraWing(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.item.chimaerawing");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean miningAbility(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.ability.mining");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean axesAbility(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.ability.axes");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean swordsAbility(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.ability.swords");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean woodCuttingAbility(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.ability.woodcutting");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean mcgod(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.tools.mcgod");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean regeneration(Player player){
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.regeneration");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean motd(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.motd");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean mcAbility(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.commands.ability");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean mySpawn(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.commands.myspawn");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean setMySpawn(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.commands.setmyspawn");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean partyChat(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.chat.partychat");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean partyLock(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.chat.partylock");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean partyTeleport(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.commands.ptp");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean whois(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.commands.whois");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean party(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.commands.party");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean adminChat(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.chat.adminchat");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public static mcPermissions getInstance() {
|
|
if (instance == null) {
|
|
instance = new mcPermissions();
|
|
}
|
|
return instance;
|
|
}
|
|
public boolean taming(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.taming");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean mining(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.mining");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean woodcutting(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.woodcutting");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean repair(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.repair");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean unarmed(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.unarmed");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean archery(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.archery");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean herbalism(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.herbalism");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean excavation(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.excavation");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean swords(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.swords");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean axes(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.axes");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public boolean acrobatics(Player player) {
|
|
if (permissionsEnabled) {
|
|
return permission(player, "mcmmo.skills.acrobatics");
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
}
|