diff --git a/src/main/java/org/dynmap/bukkit/DynmapPlugin.java b/src/main/java/org/dynmap/bukkit/DynmapPlugin.java index 4d126ec1..960e86f5 100644 --- a/src/main/java/org/dynmap/bukkit/DynmapPlugin.java +++ b/src/main/java/org/dynmap/bukkit/DynmapPlugin.java @@ -748,12 +748,12 @@ public class DynmapPlugin extends JavaPlugin implements DynmapAPI { permissions = PEXPermissions.create(getServer(), "dynmap"); if (permissions == null) permissions = bPermPermissions.create(getServer(), "dynmap", perdefs); - if (permissions == null) - permissions = GroupManagerPermissions.create(getServer(), "dynmap"); if (permissions == null) permissions = PermBukkitPermissions.create(getServer(), "dynmap", perdefs); if (permissions == null) permissions = NijikokunPermissions.create(getServer(), "dynmap"); + if (permissions == null) + permissions = GroupManagerPermissions.create(getServer(), "dynmap"); if (permissions == null) permissions = BukkitPermissions.create("dynmap", perdefs); if (permissions == null) diff --git a/src/main/java/org/dynmap/bukkit/permissions/GroupManagerPermissions.java b/src/main/java/org/dynmap/bukkit/permissions/GroupManagerPermissions.java index d1b9c424..1fc641e7 100644 --- a/src/main/java/org/dynmap/bukkit/permissions/GroupManagerPermissions.java +++ b/src/main/java/org/dynmap/bukkit/permissions/GroupManagerPermissions.java @@ -35,15 +35,16 @@ public class GroupManagerPermissions implements PermissionProvider { } @Override - public boolean has(CommandSender sender, String permission) { + public boolean has(CommandSender sender, String permission) { Player player = sender instanceof Player ? (Player) sender : null; - return (player != null) ? wh.getWorldPermissions(player).has(player, name + "." + permission) : true; + boolean rslt = (player != null) ? gm.getWorldsHolder().getDefaultWorld().getPermissionsHandler().permission(player, name + "." + permission) : true; + return rslt; } @Override public Set hasOfflinePermissions(String player, Set perms) { HashSet hasperms = new HashSet(); - AnjoPermissionsHandler apm = wh.getWorldPermissionsByPlayerName(player); + AnjoPermissionsHandler apm = gm.getWorldsHolder().getDefaultWorld().getPermissionsHandler(); if (apm != null) { for (String pp : perms) { if (apm.permission(player, name + "." + pp)) { @@ -55,10 +56,11 @@ public class GroupManagerPermissions implements PermissionProvider { } @Override public boolean hasOfflinePermission(String player, String perm) { - AnjoPermissionsHandler apm = wh.getWorldPermissionsByPlayerName(player); + AnjoPermissionsHandler apm = gm.getWorldsHolder().getDefaultWorld().getPermissionsHandler(); + boolean rslt = false; if(apm != null) { - return apm.permission(player, name + "." + perm); + rslt = apm.permission(player, name + "." + perm); } - return false; + return rslt; } } diff --git a/src/main/java/org/dynmap/bukkit/permissions/PEXPermissions.java b/src/main/java/org/dynmap/bukkit/permissions/PEXPermissions.java index 4840bf12..dc2213a8 100644 --- a/src/main/java/org/dynmap/bukkit/permissions/PEXPermissions.java +++ b/src/main/java/org/dynmap/bukkit/permissions/PEXPermissions.java @@ -24,8 +24,9 @@ public class PEXPermissions implements PermissionProvider { server.getPluginManager().enablePlugin(permissionsPlugin); if(permissionsPlugin.isEnabled() == false) return null; - if(PermissionsEx.isAvailable() == false) - return null; + //Broken in new dev builds, apparently + //if(PermissionsEx.isAvailable() == false) + // return null; Log.info("Using PermissionsEx " + permissionsPlugin.getDescription().getVersion() + " for access control"); return new PEXPermissions(name); }