From 7e2c75e10bd3faf34a5a37877958695db750502e Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Mon, 26 Jan 2015 18:40:58 -0800 Subject: [PATCH] Improved world guard compat feature. Now it knows about world guard override permissions. --- plugin.yml | 2 +- src/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/plugin.yml b/plugin.yml index 9d3fc8c..e865e00 100644 --- a/plugin.yml +++ b/plugin.yml @@ -149,7 +149,7 @@ commands: permissions: griefprevention.createclaims: description: Grants permission to create claims. - default: op + default: true griefprevention.admin.*: description: Grants all administrative functionality. children: diff --git a/src/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java b/src/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java index 3f17c45..335845d 100644 --- a/src/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java +++ b/src/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java @@ -7,6 +7,7 @@ import org.bukkit.entity.Player; import com.sk89q.worldedit.BlockVector; import com.sk89q.worldguard.LocalPlayer; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; +import com.sk89q.worldguard.bukkit.permission.RegionPermissionModel; import com.sk89q.worldguard.protection.ApplicableRegionSet; import com.sk89q.worldguard.protection.flags.DefaultFlag; import com.sk89q.worldguard.protection.managers.RegionManager; @@ -24,7 +25,11 @@ class WorldGuardWrapper public boolean canBuild(Location lesserCorner, Location greaterCorner, Player creatingPlayer) { World world = lesserCorner.getWorld(); + + if(new RegionPermissionModel(this.worldGuard, creatingPlayer).mayIgnoreRegionProtection(world)) return true; + RegionManager manager = this.worldGuard.getRegionManager(world); + if(manager != null) { ProtectedCuboidRegion tempRegion = new ProtectedCuboidRegion(