From 89c41b0508edd847316a293926fb56a7b249e6ba Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 17 Jan 2012 18:03:16 +0000 Subject: v 1.9: Optimize populating Bukkit perms so we no longer calculate the child nodes (Bukkit already does this). --- .../groupmanager/permissions/BukkitPermissions.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java index ebaadf8bd..91f9a9bd6 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java @@ -79,7 +79,7 @@ public class BukkitPermissions { public BukkitPermissions(GroupManager plugin) { this.plugin = plugin; - //this.collectPermissions(); + this.collectPermissions(); this.registerEvents(); this.updateAllPlayers(); @@ -105,15 +105,20 @@ public class BukkitPermissions { manager.registerEvent(Event.Type.PLUGIN_DISABLE, serverListener, Event.Priority.Normal, plugin); } - /* + public void collectPermissions() { registeredPermissions.clear(); + /* for (Plugin bukkitPlugin : Bukkit.getServer().getPluginManager().getPlugins()) { for (Permission permission : bukkitPlugin.getDescription().getPermissions()) registeredPermissions.push(permission); } + */ + + registeredPermissions = new LinkedList(Bukkit.getPluginManager().getPermissions()); + } - */ + public void updatePermissions(Player player) { this.updatePermissions(player, null); @@ -194,7 +199,7 @@ public class BukkitPermissions { // Add all permissions for this player (GM only) // child nodes will be calculated by Bukkit. - List playerPermArray = worldData.getPermissionsHandler().getAllPlayersPermissions(player.getName()); + List playerPermArray = worldData.getPermissionsHandler().getAllPlayersPermissions(player.getName(), false); Map newPerms = new HashMap(); for (String permission : playerPermArray) { @@ -210,6 +215,7 @@ public class BukkitPermissions { */ newPerms.put(permission, value); } + //player.recalculatePermissions(); /** @@ -373,13 +379,13 @@ public class BukkitPermissions { if (!GroupManager.isLoaded()) return; - //collectPermissions(); + collectPermissions(); updateAllPlayers(); } @Override public void onPluginDisable(PluginDisableEvent event) { - // collectPermissions(); + collectPermissions(); // updateAllPlayers(); } } -- cgit v1.2.3