diff options
Diffstat (limited to 'EssentialsGroupManager/src')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java index a221c56a2..f303aea35 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java @@ -789,9 +789,9 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface { * We are in offline mode * and the player has the 'groupmanager.noofflineperms' permission. */ - if (user == null || targetPermission == null || targetPermission.isEmpty() || - (!Bukkit.getServer().getOnlineMode() - && (checkPermission(user, "groupmanager.noofflineperms", true).resultType == PermissionCheckResult.Type.FOUND))) { + if (user == null || targetPermission == null || targetPermission.isEmpty() + || (!Bukkit.getServer().getOnlineMode() + && (checkPermission(user, "groupmanager.noofflineperms", false).resultType == PermissionCheckResult.Type.FOUND))) { PermissionCheckResult result = new PermissionCheckResult(); result.accessLevel = targetPermission; @@ -1037,6 +1037,15 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface { userAccessLevelOffset = 1; result = PermissionCheckResult.Type.NEGATION; } + + if (fullPermissionName.equals(userAccessLevel)) { + return result; + } + + if ("groupmanager.noofflineperms".equals(fullPermissionName)) { + result = PermissionCheckResult.Type.NOTFOUND; + } + if ("*".regionMatches(0, userAccessLevel, userAccessLevelOffset, userAccessLevelLength - userAccessLevelOffset)) { return result; } |