| 
					
				 | 
			
			
				@@ -6,27 +6,47 @@ 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 Permissions permissionsPlugin;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private enum PermissionType {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PEX, PERMISSIONS, BUKKIT
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static PermissionType permissionType;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Object PHandle;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static boolean permissionsEnabled = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static volatile mcPermissions instance;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static void initialize(Server server) 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Plugin PEXtest = server.getPluginManager().getPlugin("PermissionsEx");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Plugin test = server.getPluginManager().getPlugin("Permissions");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (test != null) 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Logger log = Logger.getLogger("Minecraft");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            permissionsPlugin = ((Permissions) test);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Logger log = Logger.getLogger("Minecraft");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (PEXtest != null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PHandle = (PermissionManager) PermissionsEx.getPermissionManager();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            permissionType = PermissionType.PEX;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            permissionsEnabled = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.log(Level.INFO, "[mcMMO] PermissionsEx enabled.");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (test != null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PHandle = (PermissionHandler) ((Permissions) test).getHandler();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            permissionType = PermissionType.PERMISSIONS;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             permissionsEnabled = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.log(Level.INFO, "[mcMMO] Permissions enabled.");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.log(Level.INFO, "[mcMMO] Permissions "+test.getDescription().getVersion()+" enabled.");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Logger log = Logger.getLogger("Minecraft");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             log.log(Level.SEVERE, "[mcMMO] Permissions isn't loaded, there are no restrictions.");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /*
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            permissionType = PermissionType.BUKKIT;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            permissionsEnabled = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.info("[mcMMO] Using Bukkit Permissions.")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,7 +57,16 @@ public class mcPermissions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static boolean permission(Player player, String string) 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return permissionsPlugin.getHandler().has(player, string);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	switch (permissionType) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case PEX:
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return ((PermissionManager) PHandle).has(player, string);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case PERMISSIONS:
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return ((PermissionHandler) PHandle).has(player, string);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case BUKKIT:
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //return player.hasPermission(string);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default:
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public boolean admin(Player player){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     	if (permissionsEnabled) {
 
			 |