From 31c1581ca2928be4a2da2fc15954180edbc3e3ae Mon Sep 17 00:00:00 2001 From: Miroslav Marchev Date: Mon, 13 Aug 2018 17:02:50 +0300 Subject: [PATCH] Update WorldGuard dependency to 7.0.0-SNAPSHOT (#343) --- pom.xml | 50 +++++++++++-------- .../GriefPrevention/WorldGuardWrapper.java | 40 ++++++++------- 2 files changed, 50 insertions(+), 40 deletions(-) diff --git a/pom.xml b/pom.xml index 26f8548..09d16c8 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,10 @@ worldedit-worldguard-repo http://maven.sk89q.com/repo/ + + codemc-repo + https://repo.codemc.org/repository/maven-public/ + vault-repo http://nexus.hc.to/content/repositories/pub_releases @@ -66,33 +70,37 @@ - com.sk89q - worldguard - 6.1.1-SNAPSHOT - - - - com.sk89q.worldedit - worldedit-bukkit - 6.1.4-SNAPSHOT + com.sk89q.worldguard + worldguard-legacy + 7.0.0-SNAPSHOT + provided + + + org.bukkit + bukkit + + + com.sk89q.worldedit + worldedit-bukkit + + + com.sk89q + commandbook + + net.milkbowl.vault VaultAPI 1.6 - - - - com.google.guava - guava - 21.0 - - - - com.googlecode.json-simple - json-simple - 1.1.1 + provided + + + org.bukkit + bukkit + + diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java b/src/main/java/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java index 6277642..b2ea10b 100644 --- a/src/main/java/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java +++ b/src/main/java/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java @@ -1,15 +1,16 @@ package me.ryanhamshire.GriefPrevention; import org.bukkit.Location; -import org.bukkit.World; import org.bukkit.entity.Player; import com.sk89q.worldedit.BlockVector; -import com.sk89q.worldguard.LocalPlayer; +import com.sk89q.worldedit.world.World; +import com.sk89q.worldguard.WorldGuard; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; -import com.sk89q.worldguard.bukkit.permission.RegionPermissionModel; +import com.sk89q.worldguard.bukkit.BukkitPlayer; +import com.sk89q.worldguard.internal.permission.RegionPermissionModel; import com.sk89q.worldguard.protection.ApplicableRegionSet; -import com.sk89q.worldguard.protection.flags.DefaultFlag; +import com.sk89q.worldguard.protection.flags.Flags; import com.sk89q.worldguard.protection.managers.RegionManager; import com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion; import com.sk89q.worldguard.protection.regions.ProtectedRegion; @@ -17,42 +18,43 @@ import com.sk89q.worldguard.protection.regions.ProtectedRegion; class WorldGuardWrapper { private WorldGuardPlugin worldGuard = null; - + public WorldGuardWrapper() throws ClassNotFoundException { this.worldGuard = (WorldGuardPlugin)GriefPrevention.instance.getServer().getPluginManager().getPlugin("WorldGuard"); } - + public boolean canBuild(Location lesserCorner, Location greaterCorner, Player creatingPlayer) { - World world = lesserCorner.getWorld(); - if (worldGuard == null) { GriefPrevention.AddLogEntry("WorldGuard is out of date and not enabled. Please update or remove WorldGuard.", CustomLogEntryTypes.Debug, false); return true; } - if(new RegionPermissionModel(this.worldGuard, creatingPlayer).mayIgnoreRegionProtection(world)) return true; - - RegionManager manager = this.worldGuard.getRegionManager(world); - + BukkitPlayer localPlayer = new BukkitPlayer(this.worldGuard, creatingPlayer); + World world = WorldGuard.getInstance().getPlatform().getWorldByName(lesserCorner.getWorld().getName()); + + if(new RegionPermissionModel(localPlayer).mayIgnoreRegionProtection(world)) return true; + + RegionManager manager = WorldGuard.getInstance().getPlatform().getRegionContainer().get(world); + if(manager != null) { ProtectedCuboidRegion tempRegion = new ProtectedCuboidRegion( - "GP_TEMP", - new BlockVector(lesserCorner.getX(), 0, lesserCorner.getZ()), - new BlockVector(greaterCorner.getX(), world.getMaxHeight(), greaterCorner.getZ())); + "GP_TEMP", + new BlockVector(lesserCorner.getX(), 0, lesserCorner.getZ()), + new BlockVector(greaterCorner.getX(), world.getMaxY(), greaterCorner.getZ())); + ApplicableRegionSet overlaps = manager.getApplicableRegions(tempRegion); - LocalPlayer localPlayer = worldGuard.wrapPlayer(creatingPlayer); for (ProtectedRegion r : overlaps.getRegions()) { - if (!manager.getApplicableRegions(r).testState(localPlayer, DefaultFlag.BUILD)) { + if (!manager.getApplicableRegions(r).testState(localPlayer, Flags.BUILD)) { return false; } } return true; } - + return true; } -} +} \ No newline at end of file