diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 6015b470e..232a35e1a 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -13,4 +13,6 @@ v 1.1: - Push updates to superperms for all valid GM commands. - All GroupManager commands issued by players are now echoed in the console. - Reverted WorldHolder static change to maintain backward plugin compatibility. - - Update to handle 'getDescription().getPermissions(') returning a list (CB 1172). \ No newline at end of file + - Update to handle 'getDescription().getPermissions(') returning a list (CB 1172). + - Fix for null in PLAYER_TELEPORT for bukkit perms. + - Fixed wasteful updating of perms on a manload. \ 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 b56d42122..52b67c57c 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1423,9 +1423,14 @@ public class GroupManager extends JavaPlugin { auxString += " "; } } + + isLoaded = false; // Disable Bukkit Perms update + worldsHolder.loadWorld(auxString); sender.sendMessage("The request to world '" + auxString + "' was sent."); + isLoaded = true; + BukkitPermissions.updateAllPlayers(); return true; diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java index ec6fcebca..cf3edafc0 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java @@ -195,11 +195,9 @@ public class BukkitPermissions { @Override public void onPlayerPortal(PlayerPortalEvent event) { // will portal into another world - if(event.getPlayer().getWorld().equals(event.getTo().getWorld())){ // only if world actually changed - return; + if(!event.getFrom().getWorld().equals(event.getTo().getWorld())){ // only if world actually changed + updatePermissions(event.getPlayer(), event.getTo().getWorld().getName()); } - - updatePermissions(event.getPlayer(), event.getTo().getWorld().getName()); } @Override