Fixed an issue with superperms where plugins define perms with

inheritance after the root perms
This commit is contained in:
ElgarL 2011-10-01 11:22:19 +01:00
parent ab67d0e232
commit 0462026f33
3 changed files with 6 additions and 4 deletions

View file

@ -23,4 +23,5 @@ v 1.1:
- Fix for GM not checking inheritance for known superperms nodes.
- Optimized getAllPlayersPermissions and fixed pushing unknown perms to superperms.
v 1.2:
- Changed priority if Registered events to lowest.
- Changed priority of Registered events to lowest.
- Fixed an issue with superperms where plugins define perms with inheritance after the root perms

View file

@ -18,6 +18,7 @@ public class BukkitPermsUpdateTask implements Runnable {
public void run() {
// Signal loaded and update BukkitPermissions.
GroupManager.setLoaded(true);
GroupManager.BukkitPermissions.collectPermissions();
GroupManager.BukkitPermissions.updateAllPlayers();
GroupManager.logger.info("Bukkit Permissions Updated!");

View file

@ -93,7 +93,7 @@ public class BukkitPermissions {
manager.registerEvent(Event.Type.PLUGIN_DISABLE, serverListener, Event.Priority.Normal, plugin);
}
private void collectPermissions() {
public void collectPermissions() {
registeredPermissions.clear();
for (Plugin bukkitPlugin : Bukkit.getServer().getPluginManager().getPlugins()) {
for(Permission permission : bukkitPlugin.getDescription().getPermissions())
@ -134,8 +134,8 @@ public class BukkitPermissions {
Boolean value;
for (Permission permission : registeredPermissions) {
value = worldData.getPermissionsHandler().checkUserPermission(user, permission.getName());
attachment.setPermission(permission, value);
if (value == true)
attachment.setPermission(permission, value);
}
// Add any missing permissions for this player (non bukkit plugins)