diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java index 199c9f1a..d5e97ced 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java @@ -57,6 +57,7 @@ public class WorldConfiguration { private SignChestProtection chestProtection = new SignChestProtection(); /* Configuration data start */ + public boolean opPermissions; public boolean fireSpreadDisableToggle; public boolean enforceOneSession; public boolean itemDurability; @@ -147,6 +148,8 @@ private void loadConfiguration() { Configuration config = new Configuration(this.configFile); config.load(); + opPermissions = config.getBoolean("op-permissions", true); + enforceOneSession = config.getBoolean("protection.enforce-single-session", true); itemDurability = config.getBoolean("protection.item-durability", true); removeInfiniteStacks = config.getBoolean("protection.remove-infinite-stacks", false); diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java index 2ddf0128..e8c28174 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java @@ -276,7 +276,14 @@ public String toName(CommandSender sender) { */ public boolean hasPermission(CommandSender sender, String perm) { if (sender.isOp()) { - return true; + if (sender instanceof Player) { + if (this.getGlobalConfiguration().get(((Player) sender). + getWorld()).opPermissions) { + return true; + } + } else { + return true; + } } // Invoke the permissions resolver