From debcf4714a3db9065219e3701137e8dea6439970 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 20 Dec 2011 17:21:55 +0000 Subject: Delayed GroupManager events so Superperms will be fully updated before plugins receive the events. --- EssentialsGroupManager/src/Changelog.txt | 3 ++- .../src/org/anjocaido/groupmanager/GroupManager.java | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'EssentialsGroupManager/src') diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 6611c3e1b..dc661f7c3 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -91,4 +91,5 @@ v 1.8: - Changed ServicesManager registration to lowest from normal. - Fixed 'manucheckp' returning a null for the searched node when it's a group/subgroup. - manpromote and mandemote now correctly send the notification to the console if the command was issued there. - - Expanded GlobalGroups.yml and Groups.yml to include Towny permissions. \ No newline at end of file + - Expanded GlobalGroups.yml and Groups.yml to include Towny permissions. + - Delayed GroupManager events so Superperms will be fully updated before plugins receive the events. \ No newline at end of file diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 9762a35a7..5ced1fb47 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1840,11 +1840,21 @@ public class GroupManager extends JavaPlugin { /** * Triggers all GroupManager events for other plugins to see. + * Schedules events for 1 tick later to allow GM to finish populating super perms. * * @param event */ - public static void callEvent(GroupManagerEvent event) { - Bukkit.getServer().getPluginManager().callEvent(event); + public static void callEvent(final GroupManagerEvent event) { + + if (Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("GroupManager"), new Runnable() { + + @Override + public void run() { + Bukkit.getServer().getPluginManager().callEvent(event); + } + }) == -1) + GroupManager.logger.warning("Could not schedule GM Event."); + } /** -- cgit v1.2.3