diff --git a/implementation/pom.xml b/implementation/pom.xml index dc18282..da34b9c 100644 --- a/implementation/pom.xml +++ b/implementation/pom.xml @@ -26,10 +26,6 @@ - - codemc-repo - https://repo.codemc.org/repository/maven-public/ - sk89q-repo http://maven.sk89q.com/repo/ diff --git a/implementation/v7/pom.xml b/implementation/v7/pom.xml index c502c84..3866795 100644 --- a/implementation/v7/pom.xml +++ b/implementation/v7/pom.xml @@ -20,6 +20,94 @@ worldguardwrapper-implementation-interface 1.0.3-SNAPSHOT + + com.sk89q.worldedit + worldedit-bukkit + 7.0.0-20181112.023924-25 + provided + + + org.bstats + bstats-bukkit + + + io.papermc + paperlib + + + org.bukkit + bukkit + + + com.sk89q.intake + intake + + + com.sk89q + squirrelid + + + org.flywaydb + flyway-core + + + org.khelekore + prtree + + + com.googlecode.json-simple + json-simple + + + net.sf.opencsv + opencsv + + + com.sk89q + commandbook + + + de.schlichtherle + truezip + + + rhino + js + + + org.yaml + snakeyaml + + + com.google.guava + guava + + + com.sk89q + jchronic + + + com.google.code.findbugs + jsr305 + + + com.thoughtworks.paranamer + paranamer + + + com.google.code.gson + gson + + + com.sk89q.lib + jlibnoise + + + com.sk89q + dummypermscompat + + + com.sk89q.worldguard worldguard-legacy diff --git a/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/WorldGuardImplementation.java b/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/WorldGuardImplementation.java index 888ce08..8931731 100644 --- a/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/WorldGuardImplementation.java +++ b/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/WorldGuardImplementation.java @@ -1,9 +1,10 @@ package org.codemc.worldguardwrapper.implementation.v7; +import com.sk89q.worldedit.BlockVector; +import com.sk89q.worldedit.BlockVector2D; +import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.bukkit.BukkitWorld; -import com.sk89q.worldedit.math.BlockVector2; -import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldguard.LocalPlayer; import com.sk89q.worldguard.WorldGuard; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; @@ -43,6 +44,22 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { plugin = WorldGuardPlugin.inst(); } + // Adapters + + private static Vector toVector(Location location) { + return new Vector(location.getX(), location.getY(), location.getZ()); + } + + private static BlockVector toBlockVector(Location location) { + return new BlockVector(location.getX(), location.getY(), location.getZ()); + } + + private static List toBlockVector2DList(List locations) { + return locations.stream() + .map(location -> new BlockVector2D(location.getX(), location.getZ())) + .collect(Collectors.toList()); + } + private Optional wrapPlayer(Player player) { return Optional.ofNullable(player).map(bukkitPlayer -> plugin.wrapPlayer(player)); } @@ -56,7 +73,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } private Optional getApplicableRegions(@NonNull Location location) { - return getWorldManager(location.getWorld()).map(manager -> manager.getApplicableRegions(BukkitAdapter.asBlockVector(location))); + return getWorldManager(location.getWorld()).map(manager -> manager.getApplicableRegions(toVector(location))); } private Optional queryValue(Player player, @NonNull Location location, @NonNull Flag flag) { @@ -67,14 +84,6 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { return getApplicableRegions(location).map(applicableRegions -> applicableRegions.queryState(wrapPlayer(player).orElse(null), stateFlags)); } - private BlockVector3 toBlockVector3(Location location) { - return BlockVector3.at(location.getX(), location.getY(), location.getZ()); - } - - private List toBlockVector2List(List locations) { - return locations.stream().map(location -> BlockVector2.at(location.getX(), location.getZ())).collect(Collectors.toList()); - } - private WrappedRegion toRegion(ProtectedRegion region) { return new WrappedRegion() { @@ -103,7 +112,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { @Override public boolean contains(Location location) { - return region.contains(toBlockVector3(location)); + return region.contains(toVector(location)); } }; @@ -217,9 +226,9 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { public Optional addRegion(String id, List points, int minY, int maxY) { ProtectedRegion region; if (points.size() == 2) { - region = new ProtectedCuboidRegion(id, toBlockVector3(points.get(0)), toBlockVector3(points.get(1))); + region = new ProtectedCuboidRegion(id, toBlockVector(points.get(0)), toBlockVector(points.get(1))); } else { - region = new ProtectedPolygonalRegion(id, toBlockVector2List(points), minY, maxY); + region = new ProtectedPolygonalRegion(id, toBlockVector2DList(points), minY, maxY); } Optional manager = getWorldManager(points.get(0).getWorld()); @@ -234,10 +243,6 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { @Override public Optional> removeRegion(World world, String id) { Optional> set = getWorldManager(world).map(manager -> manager.removeRegion(id)); - if (set.isPresent()) { - return Optional.of(set.get().stream().map(region -> toRegion(region)).collect(Collectors.toSet())); - } else { - return Optional.empty(); - } + return set.map(protectedRegions -> protectedRegions.stream().map(this::toRegion).collect(Collectors.toSet())); } }