summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java15
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;
}