@@ -48,10 +48,12 @@ public boolean hasPermission(String permission) {
4848 boolean containsWildcard = false ;
4949 boolean checkedWildcard = false ;
5050 boolean disallowed = false ;
51+ boolean disallowedValid = false ;
5152
5253 for (PRPermission prPermission : permissions ) {
5354 if (prPermission .getName ().equals (permission )) {
5455 disallowed = !prPermission .getValue ();
56+ disallowedValid = true ;
5557 break ;
5658 }
5759 }
@@ -63,6 +65,7 @@ public boolean hasPermission(String permission) {
6365 if (wildcardPermissions .contains (perm .getName ())) {
6466 containsWildcard = true ;
6567 disallowed = !perm .getValue ();
68+ disallowedValid = true ;
6669 break ;
6770 }
6871 }
@@ -75,7 +78,8 @@ public boolean hasPermission(String permission) {
7578 PowerRanksVerbose .log ("hasPermission" , "Permission: " + permission );
7679 PowerRanksVerbose .log ("hasPermission" ,
7780 "Permissions: '" + String .join (", " , getAllPermissionsFormatted (permissions )) + "'" );
78- PowerRanksVerbose .log ("hasPermission" , "Is Disallowed: " + disallowed );
81+ PowerRanksVerbose .log ("hasPermission" ,
82+ "Is Disallowed: " + disallowed + " (Valid: " + disallowedValid + ")" );
7983 PowerRanksVerbose .log ("hasPermission" , "Has *: " + getAllPermissions (permissions ).contains ("*" ));
8084 PowerRanksVerbose .log ("hasPermission" , "Is Operator: " + player .isOp ());
8185 // PowerRanksVerbose.log("hasPermission", "Return #3: " +
@@ -92,13 +96,13 @@ public boolean hasPermission(String permission) {
9296 return false ;
9397 }
9498
95- if (getAllPermissions (permissions ).contains ("*" ) || player .isOp ()) {
99+ if (getAllowedPermissions (permissions ).contains ("*" ) || player .isOp ()) {
96100 return true ;
97101 }
98102
99103 try {
100104 return super .hasPermission (permission ) || getAllowedPermissions (permissions ).contains (permission )
101- || !disallowed ;
105+ || ( disallowedValid && !disallowed ) ;
102106 } catch (Exception e ) {
103107 return getAllowedPermissions (permissions ).contains (permission );
104108 }
0 commit comments