AlttdGriefPrevention/src/me/ryanhamshire/GriefPrevention/WorldGuardWrapper.java

41 lines
1.5 KiB
Java
Raw Normal View History

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.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.ApplicableRegionSet;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion;
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();
RegionManager manager = this.worldGuard.getRegionManager(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()));
ApplicableRegionSet overlaps = manager.getApplicableRegions(tempRegion);
LocalPlayer localPlayer = worldGuard.wrapPlayer(creatingPlayer);
return overlaps.canBuild(localPlayer);
}
return true;
}
}