diff --git a/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java b/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java index ab81d4e0..457beae5 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java +++ b/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java @@ -206,7 +206,11 @@ public class MVWorld implements MultiverseWorld { this.plugin.getServer().getPluginManager().addPermission(this.permission); this.plugin.getServer().getPluginManager().addPermission(this.exempt); this.plugin.getServer().getPluginManager().addPermission(this.ignoreperm); - addToUpperLists(this.permission); + // Add the permission and exempt to parents. + this.addToUpperLists(this.permission); + + // Add ignore to it's parent: + this.ignoreperm.addParent("mv.bypass.gamemode.*", true); } catch (IllegalArgumentException e) { this.plugin.log(Level.FINER, "Permissions nodes were already added for " + this.name); } diff --git a/src/main/java/com/onarandombox/MultiverseCore/utils/WorldManager.java b/src/main/java/com/onarandombox/MultiverseCore/utils/WorldManager.java index 8c9764b9..d2b96c5d 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/utils/WorldManager.java +++ b/src/main/java/com/onarandombox/MultiverseCore/utils/WorldManager.java @@ -524,7 +524,7 @@ public class WorldManager implements MVWorldManager { this.plugin.getServer().getPluginManager().removePermission(w.getAccessPermission().getName()); this.plugin.getServer().getPluginManager().removePermission(w.getExemptPermission().getName()); // Special namespace for gamemodes - this.plugin.getServer().getPluginManager().removePermission("mv.gamemode.bypass." + w.getName()); + this.plugin.getServer().getPluginManager().removePermission("mv.bypass.gamemode." + w.getName()); } // Recalc the all permission this.plugin.getServer().getPluginManager().recalculatePermissionDefaults(allAccess);