Update WorldGuard dependency to 7.0.0-SNAPSHOT (#343)

This commit is contained in:
Miroslav Marchev 2018-08-13 17:02:50 +03:00 committed by RoboMWM
parent e7495011aa
commit 31c1581ca2
2 changed files with 50 additions and 40 deletions

50
pom.xml
View File

@ -25,6 +25,10 @@
<id>worldedit-worldguard-repo</id>
<url>http://maven.sk89q.com/repo/</url>
</repository>
<repository>
<id>codemc-repo</id>
<url>https://repo.codemc.org/repository/maven-public/</url>
</repository>
<repository>
<id>vault-repo</id>
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
@ -66,33 +70,37 @@
</dependency>
<!--Worldguard dependency-->
<dependency>
<groupId>com.sk89q</groupId>
<artifactId>worldguard</artifactId>
<version>6.1.1-SNAPSHOT</version>
</dependency>
<!--WorldGuard depends on WorldEdit-->
<dependency>
<groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-bukkit</artifactId>
<version>6.1.4-SNAPSHOT</version>
<groupId>com.sk89q.worldguard</groupId>
<artifactId>worldguard-legacy</artifactId>
<version>7.0.0-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
</exclusion>
<exclusion>
<groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-bukkit</artifactId>
</exclusion>
<exclusion>
<groupId>com.sk89q</groupId>
<artifactId>commandbook</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--Vault dependency-->
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.6</version>
</dependency>
<!--Google stuff-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version>
</dependency>
<!--json stuff-->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

View File

@ -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;
}
}
}