From 38104d506dc2f44ebd4a837e4d02d7bec75725de Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Sat, 24 Jun 2023 20:48:09 +0200 Subject: [PATCH] Update dependencies, bump version, enhance code style --- README.md | 4 +- api/pom.xml | 2 +- .../event/WrappedDamageEntityEvent.java | 3 + .../event/WrappedDisallowedPVPEvent.java | 3 + .../event/WrappedUseBlockEvent.java | 3 + .../event/WrappedUseEntityEvent.java | 3 + .../worldguardwrapper/flag/IWrappedFlag.java | 1 + .../flag/IWrappedStatusFlag.java | 1 + .../worldguardwrapper/flag/WrappedState.java | 1 + .../worldguardwrapper/handler/IHandler.java | 20 ++++- .../IWorldGuardImplementation.java | 12 ++- .../region/IWrappedDomain.java | 1 + .../region/IWrappedRegion.java | 1 + .../region/IWrappedRegionSet.java | 1 + .../selection/ICuboidSelection.java | 1 + .../selection/IPolygonalSelection.java | 1 + .../selection/ISelection.java | 1 + .../utility/SelectionUtilities.java | 1 + implementation/legacy/pom.xml | 4 +- .../legacy/WorldGuardImplementation.java | 64 ++++++++----- .../utility/WorldGuardFlagUtilities.java | 5 +- .../utility/WorldGuardVectorUtilities.java | 4 +- implementation/pom.xml | 2 +- implementation/v6/pom.xml | 4 +- .../v6/WorldGuardImplementation.java | 89 +++++++++++++------ .../v6/handler/ProxyHandler.java | 42 +++++++-- .../v6/utility/WorldGuardFlagUtilities.java | 2 +- .../v6/utility/WorldGuardVectorUtilities.java | 3 +- implementation/v7/pom.xml | 6 +- .../v7/WorldGuardImplementation.java | 82 +++++++++-------- .../v7/handler/ProxyHandler.java | 51 +++++++++-- library/pom.xml | 10 +-- .../worldguardwrapper/WorldGuardWrapper.java | 15 +--- pom.xml | 30 +++---- 34 files changed, 322 insertions(+), 151 deletions(-) diff --git a/README.md b/README.md index b81cc00..9df2810 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ A wrapper for the WorldGuard API that allows plugins to support both v6 and v7 A How to include WorldEditWrapper into your maven project: ```xml + codemc-repo @@ -21,9 +22,10 @@ How to include WorldEditWrapper into your maven project: org.codemc.worldguardwrapper worldguardwrapper - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT + ``` Remember to include/relocate the library into your final jar, example: diff --git a/api/pom.xml b/api/pom.xml index f8e06e6..1f3aa88 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -7,7 +7,7 @@ org.codemc.worldguardwrapper worldguardwrapper-parent - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT ../pom.xml diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDamageEntityEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDamageEntityEvent.java index de980e3..2e18124 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDamageEntityEvent.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDamageEntityEvent.java @@ -1,6 +1,7 @@ package org.codemc.worldguardwrapper.event; import lombok.Getter; +import lombok.NonNull; import lombok.RequiredArgsConstructor; import org.bukkit.Location; import org.bukkit.entity.Entity; @@ -20,10 +21,12 @@ public class WrappedDamageEntityEvent extends AbstractWrappedEvent { private final Entity entity; @Override + @NonNull public HandlerList getHandlers() { return handlers; } + @SuppressWarnings("unused") public static HandlerList getHandlerList() { return handlers; } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDisallowedPVPEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDisallowedPVPEvent.java index 8903173..2f445f4 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDisallowedPVPEvent.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedDisallowedPVPEvent.java @@ -1,6 +1,7 @@ package org.codemc.worldguardwrapper.event; import lombok.Getter; +import lombok.NonNull; import lombok.RequiredArgsConstructor; import org.bukkit.entity.Player; import org.bukkit.event.Event; @@ -17,10 +18,12 @@ public class WrappedDisallowedPVPEvent extends AbstractWrappedEvent { private final Event cause; @Override + @NonNull public HandlerList getHandlers() { return handlers; } + @SuppressWarnings("unused") public static HandlerList getHandlerList() { return handlers; } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseBlockEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseBlockEvent.java index 9edc76d..8f9950f 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseBlockEvent.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseBlockEvent.java @@ -1,6 +1,7 @@ package org.codemc.worldguardwrapper.event; import lombok.Getter; +import lombok.NonNull; import lombok.RequiredArgsConstructor; import org.bukkit.Material; import org.bukkit.World; @@ -24,10 +25,12 @@ public class WrappedUseBlockEvent extends AbstractWrappedEvent { private final Material effectiveMaterial; @Override + @NonNull public HandlerList getHandlers() { return handlers; } + @SuppressWarnings("unused") public static HandlerList getHandlerList() { return handlers; } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseEntityEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseEntityEvent.java index 03bb067..bbad0ac 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseEntityEvent.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/event/WrappedUseEntityEvent.java @@ -1,6 +1,7 @@ package org.codemc.worldguardwrapper.event; import lombok.Getter; +import lombok.NonNull; import lombok.RequiredArgsConstructor; import org.bukkit.Location; import org.bukkit.entity.Entity; @@ -20,10 +21,12 @@ public class WrappedUseEntityEvent extends AbstractWrappedEvent { private final Entity entity; @Override + @NonNull public HandlerList getHandlers() { return handlers; } + @SuppressWarnings("unused") public static HandlerList getHandlerList() { return handlers; } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedFlag.java index f2f45f2..8a88edf 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedFlag.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedFlag.java @@ -2,6 +2,7 @@ package org.codemc.worldguardwrapper.flag; import java.util.Optional; +@SuppressWarnings("unused") public interface IWrappedFlag { String getName(); diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedStatusFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedStatusFlag.java index c5c5a80..877f9b6 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedStatusFlag.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/flag/IWrappedStatusFlag.java @@ -1,4 +1,5 @@ package org.codemc.worldguardwrapper.flag; +@SuppressWarnings("unused") public interface IWrappedStatusFlag extends IWrappedFlag { } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flag/WrappedState.java b/api/src/main/java/org/codemc/worldguardwrapper/flag/WrappedState.java index 0901810..a81608f 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/flag/WrappedState.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/flag/WrappedState.java @@ -1,5 +1,6 @@ package org.codemc.worldguardwrapper.flag; +@SuppressWarnings("unused") public enum WrappedState { ALLOW, DENY; diff --git a/api/src/main/java/org/codemc/worldguardwrapper/handler/IHandler.java b/api/src/main/java/org/codemc/worldguardwrapper/handler/IHandler.java index 7ea22ae..3f97c58 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/handler/IHandler.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/handler/IHandler.java @@ -8,17 +8,31 @@ import org.codemc.worldguardwrapper.region.IWrappedRegionSet; import java.util.Set; +@SuppressWarnings("unused") public interface IHandler { default void initialize(Player player, Location current, IWrappedRegionSet regionSet) { } - default boolean testMoveTo(Player player, Location from, Location to, IWrappedRegionSet regionSet, String moveType) { + default boolean testMoveTo( + Player player, + Location from, + Location to, + IWrappedRegionSet regionSet, + String moveType + ) { return true; } - default boolean onCrossBoundary(Player player, Location from, Location to, IWrappedRegionSet toSet, - Set entered, Set exited, String moveType) { + default boolean onCrossBoundary( + Player player, + Location from, + Location to, + IWrappedRegionSet toSet, + Set entered, + Set exited, + String moveType + ) { return true; } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/implementation/IWorldGuardImplementation.java b/api/src/main/java/org/codemc/worldguardwrapper/implementation/IWorldGuardImplementation.java index 6a96f97..372515c 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/implementation/IWorldGuardImplementation.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/implementation/IWorldGuardImplementation.java @@ -16,6 +16,7 @@ import org.codemc.worldguardwrapper.selection.ISelection; import java.util.*; import java.util.function.Supplier; +@SuppressWarnings("unused") public interface IWorldGuardImplementation { /** @@ -58,7 +59,7 @@ public interface IWorldGuardImplementation { * * @param name The flag name * @param type The flag type - * @return The flag, empty if it doesn't exists + * @return The flag, empty if it doesn't exist */ Optional> getFlag(String name, Class type); @@ -149,7 +150,11 @@ public interface IWorldGuardImplementation { * @param point2 The second point of the region * @return The added region */ - default Optional addCuboidRegion(@NonNull String id, @NonNull Location point1, @NonNull Location point2) { + default Optional addCuboidRegion( + @NonNull String id, + @NonNull Location point1, + @NonNull Location point2 + ) { return addRegion(id, Arrays.asList(point1, point2), 0, 0); } @@ -168,7 +173,8 @@ public interface IWorldGuardImplementation { IPolygonalSelection sel = (IPolygonalSelection) selection; return addRegion(id, new ArrayList<>(sel.getPoints()), sel.getMinimumY(), sel.getMaximumY()); } else { - throw new UnsupportedOperationException("Unknown " + selection.getClass().getSimpleName() + " selection type!"); + throw new UnsupportedOperationException("Unknown " + selection.getClass().getSimpleName() + + " selection type!"); } } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedDomain.java b/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedDomain.java index 2a877b2..0f93969 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedDomain.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedDomain.java @@ -3,6 +3,7 @@ package org.codemc.worldguardwrapper.region; import java.util.Set; import java.util.UUID; +@SuppressWarnings("unused") public interface IWrappedDomain { Set getPlayers(); diff --git a/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegion.java b/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegion.java index fbd10fd..f94b9ff 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegion.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegion.java @@ -7,6 +7,7 @@ import org.codemc.worldguardwrapper.selection.ISelection; import java.util.Map; import java.util.Optional; +@SuppressWarnings("unused") public interface IWrappedRegion { ISelection getSelection(); diff --git a/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegionSet.java b/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegionSet.java index 2967a1c..7f95297 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegionSet.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/region/IWrappedRegionSet.java @@ -7,6 +7,7 @@ import java.util.Collection; import java.util.Optional; import java.util.Set; +@SuppressWarnings("unused") public interface IWrappedRegionSet extends Iterable { boolean isVirtual(); diff --git a/api/src/main/java/org/codemc/worldguardwrapper/selection/ICuboidSelection.java b/api/src/main/java/org/codemc/worldguardwrapper/selection/ICuboidSelection.java index 433cae4..e2834db 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/selection/ICuboidSelection.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/selection/ICuboidSelection.java @@ -2,6 +2,7 @@ package org.codemc.worldguardwrapper.selection; import org.bukkit.Location; +@SuppressWarnings("unused") public interface ICuboidSelection extends ISelection { Location getMinimumPoint(); diff --git a/api/src/main/java/org/codemc/worldguardwrapper/selection/IPolygonalSelection.java b/api/src/main/java/org/codemc/worldguardwrapper/selection/IPolygonalSelection.java index f115381..44c20b6 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/selection/IPolygonalSelection.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/selection/IPolygonalSelection.java @@ -4,6 +4,7 @@ import org.bukkit.Location; import java.util.Set; +@SuppressWarnings("unused") public interface IPolygonalSelection extends ISelection { Set getPoints(); diff --git a/api/src/main/java/org/codemc/worldguardwrapper/selection/ISelection.java b/api/src/main/java/org/codemc/worldguardwrapper/selection/ISelection.java index 0f10b71..93c1ba2 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/selection/ISelection.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/selection/ISelection.java @@ -1,4 +1,5 @@ package org.codemc.worldguardwrapper.selection; +@SuppressWarnings("unused") public interface ISelection { } diff --git a/api/src/main/java/org/codemc/worldguardwrapper/utility/SelectionUtilities.java b/api/src/main/java/org/codemc/worldguardwrapper/utility/SelectionUtilities.java index 52d6ea9..fb63df1 100644 --- a/api/src/main/java/org/codemc/worldguardwrapper/utility/SelectionUtilities.java +++ b/api/src/main/java/org/codemc/worldguardwrapper/utility/SelectionUtilities.java @@ -9,6 +9,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Set; +@SuppressWarnings("unused") @UtilityClass public class SelectionUtilities { diff --git a/implementation/legacy/pom.xml b/implementation/legacy/pom.xml index c4de1ad..71d4d80 100644 --- a/implementation/legacy/pom.xml +++ b/implementation/legacy/pom.xml @@ -7,7 +7,7 @@ org.codemc.worldguardwrapper worldguardwrapper-implementation - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT ../pom.xml @@ -29,7 +29,7 @@ ${project.groupId} worldguardwrapper-api - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT provided diff --git a/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/WorldGuardImplementation.java b/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/WorldGuardImplementation.java index acd42f1..befed55 100644 --- a/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/WorldGuardImplementation.java +++ b/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/WorldGuardImplementation.java @@ -62,23 +62,31 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } private Optional getApplicableRegions(@NonNull Location location) { - return getWorldManager(location.getWorld()).map(manager -> manager.getApplicableRegions(location)); + return getWorldManager(Objects.requireNonNull(location.getWorld())) + .map(manager -> manager.getApplicableRegions(location)); } private Optional getApplicableRegions(@NonNull Location minimum, @NonNull Location maximum) { - return getWorldManager(minimum.getWorld()).map(manager -> manager.getApplicableRegions( - new ProtectedCuboidRegion("temp", WorldGuardVectorUtilities.toBlockVector(minimum), WorldGuardVectorUtilities.toBlockVector(maximum)))); + return getWorldManager(Objects.requireNonNull(minimum.getWorld())) + .map(manager -> + manager.getApplicableRegions( + new ProtectedCuboidRegion( + "temp", + WorldGuardVectorUtilities.toBlockVector(minimum), + WorldGuardVectorUtilities.toBlockVector(maximum) + ) + ) + ); } private Optional queryValue(Player player, @NonNull Location location, @NonNull Flag flag) { - return getApplicableRegions(location).map(applicableRegions -> applicableRegions.queryValue(wrapPlayer(player) - .orElse(null), flag)); + return getApplicableRegions(location) + .map(applicableRegions -> applicableRegions.queryValue(wrapPlayer(player).orElse(null), flag)); } private IWrappedRegionSet wrapRegionSet(@NonNull World world, @NonNull ApplicableRegionSet regionSet) { return new IWrappedRegionSet() { - @SuppressWarnings("NullableProblems") @Override public Iterator iterator() { return Iterators.transform(regionSet.iterator(), region -> new WrappedRegion(world, region)); @@ -159,7 +167,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional queryFlag(Player player, Location location, IWrappedFlag flag) { + public Optional queryFlag(Player player, @NonNull Location location, @NonNull IWrappedFlag flag) { AbstractWrappedFlag wrappedFlag = (AbstractWrappedFlag) flag; return queryValue(player, location, wrappedFlag.getHandle()).flatMap(wrappedFlag::fromWGValue); @@ -198,19 +206,19 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional> registerFlag(String name, Class type, T defaultValue) { + public Optional> registerFlag(@NonNull String name, @NonNull Class type, T defaultValue) { throw new UnsupportedOperationException("Custom flags aren't supported in this version of WorldGuard!"); } @Override - public Optional getRegion(World world, String id) { + public Optional getRegion(@NonNull World world, @NonNull String id) { return getWorldManager(world) .map(regionManager -> regionManager.getRegion(id)) .map(region -> new WrappedRegion(world, region)); } @Override - public Map getRegions(World world) { + public Map getRegions(@NonNull World world) { RegionManager regionManager = worldGuardPlugin.getRegionManager(world); Map regions = regionManager.getRegions(); @@ -221,7 +229,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Set getRegions(Location location) { + public Set getRegions(@NonNull Location location) { ApplicableRegionSet regionSet = getApplicableRegions(location).orElse(null); Set set = new HashSet<>(); @@ -234,7 +242,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Set getRegions(Location minimum, Location maximum) { + public Set getRegions(@NonNull Location minimum, @NonNull Location maximum) { ApplicableRegionSet regionSet = getApplicableRegions(minimum, maximum).orElse(null); Set set = new HashSet<>(); @@ -248,17 +256,27 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { @Override public Optional getRegionSet(@NonNull Location location) { - return getApplicableRegions(location).map(regionSet -> wrapRegionSet(location.getWorld(), regionSet)); + return getApplicableRegions(location) + .map(regionSet -> wrapRegionSet(Objects.requireNonNull(location.getWorld()), regionSet)); } @Override - public Optional addRegion(String id, List points, int minY, int maxY) { + public Optional addRegion(@NonNull String id, @NonNull List points, int minY, int maxY) { ProtectedRegion region; - World world = points.get(0).getWorld(); + World world = Objects.requireNonNull(points.get(0).getWorld()); if (points.size() == 2) { - region = new ProtectedCuboidRegion(id, WorldGuardVectorUtilities.toBlockVector(points.get(0)), WorldGuardVectorUtilities.toBlockVector(points.get(1))); + region = new ProtectedCuboidRegion( + id, + WorldGuardVectorUtilities.toBlockVector(points.get(0)), + WorldGuardVectorUtilities.toBlockVector(points.get(1)) + ); } else { - region = new ProtectedPolygonalRegion(id, WorldGuardVectorUtilities.toBlockVector2DList(points), minY, maxY); + region = new ProtectedPolygonalRegion( + id, + WorldGuardVectorUtilities.toBlockVector2DList(points), + minY, + maxY + ); } Optional manager = getWorldManager(world); @@ -271,7 +289,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional> removeRegion(World world, String id) { + public Optional> removeRegion(@NonNull World world, @NonNull String id) { Optional> set = getWorldManager(world).map(manager -> manager.removeRegion(id)); return set.map(protectedRegions -> protectedRegions.stream().map(region -> new WrappedRegion(world, region)) .collect(Collectors.toSet())); @@ -299,7 +317,12 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { public Set getPoints() { return ((Polygonal2DSelection) selection).getNativePoints().stream() .map(vector -> new BlockVector(vector.toVector())) - .map(vector -> WorldGuardVectorUtilities.fromBlockVector(selection.getWorld(), vector)) + .map(vector -> + WorldGuardVectorUtilities.fromBlockVector( + selection.getWorld(), + vector + ) + ) .collect(Collectors.toSet()); } @@ -314,7 +337,8 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } }; } else { - throw new UnsupportedOperationException("Unsupported " + selection.getClass().getSimpleName() + " selection!"); + throw new UnsupportedOperationException("Unsupported " + selection.getClass().getSimpleName() + + " selection!"); } }); } diff --git a/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardFlagUtilities.java b/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardFlagUtilities.java index d8af0c9..a465a9e 100644 --- a/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardFlagUtilities.java +++ b/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardFlagUtilities.java @@ -64,7 +64,8 @@ public class WorldGuardFlagUtilities { public Map.Entry, Object> wrap(Flag flag, Object value) { IWrappedFlag wrappedFlag = wrapFixType(flag, value.getClass()); - Object wrappedValue = ((AbstractWrappedFlag) wrappedFlag).fromWGValue(value).get(); // value is non-null + Object wrappedValue = ((AbstractWrappedFlag) wrappedFlag).fromWGValue(value) + .orElseThrow(NullPointerException::new); // value should never be null return Maps.immutableEntry(wrappedFlag, wrappedValue); } @@ -90,4 +91,4 @@ public class WorldGuardFlagUtilities { new com.sk89q.worldedit.Vector(location.getX(), location.getY(), location.getZ())); } -} \ No newline at end of file +} diff --git a/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardVectorUtilities.java b/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardVectorUtilities.java index e517a01..dee8ede 100644 --- a/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardVectorUtilities.java +++ b/implementation/legacy/src/main/java/org/codemc/worldguardwrapper/implementation/legacy/utility/WorldGuardVectorUtilities.java @@ -21,7 +21,9 @@ public class WorldGuardVectorUtilities { } public List toBlockVector2DList(List locations) { - return locations.stream().map(location -> new BlockVector2D(location.getX(), location.getZ())).collect(Collectors.toList()); + return locations.stream() + .map(location -> new BlockVector2D(location.getX(), location.getZ())) + .collect(Collectors.toList()); } } diff --git a/implementation/pom.xml b/implementation/pom.xml index ff91359..577a812 100644 --- a/implementation/pom.xml +++ b/implementation/pom.xml @@ -7,7 +7,7 @@ org.codemc.worldguardwrapper worldguardwrapper-parent - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT ../pom.xml diff --git a/implementation/v6/pom.xml b/implementation/v6/pom.xml index 1a3bef0..bc47e71 100644 --- a/implementation/v6/pom.xml +++ b/implementation/v6/pom.xml @@ -7,7 +7,7 @@ org.codemc.worldguardwrapper worldguardwrapper-implementation - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT ../pom.xml @@ -29,7 +29,7 @@ ${project.groupId} worldguardwrapper-api - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT provided diff --git a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/WorldGuardImplementation.java b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/WorldGuardImplementation.java index 53d830e..f1f19c2 100644 --- a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/WorldGuardImplementation.java +++ b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/WorldGuardImplementation.java @@ -64,8 +64,12 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } private Optional wrapPlayer(OfflinePlayer player) { - return Optional.ofNullable(player).map(bukkitPlayer -> bukkitPlayer.isOnline() ? - worldGuardPlugin.wrapPlayer((Player) bukkitPlayer) : worldGuardPlugin.wrapOfflinePlayer(bukkitPlayer)); + return Optional.ofNullable(player).map(bukkitPlayer -> { + if (bukkitPlayer.isOnline()) { + return worldGuardPlugin.wrapPlayer((Player) bukkitPlayer); + } + return worldGuardPlugin.wrapOfflinePlayer(bukkitPlayer); + }); } private Optional getWorldManager(@NonNull World world) { @@ -73,23 +77,29 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } private Optional getApplicableRegions(@NonNull Location location) { - return getWorldManager(location.getWorld()).map(manager -> manager.getApplicableRegions(location)); + return getWorldManager(Objects.requireNonNull(location.getWorld())) + .map(manager -> manager.getApplicableRegions(location)); } private Optional getApplicableRegions(@NonNull Location minimum, @NonNull Location maximum) { - return getWorldManager(minimum.getWorld()).map(manager -> manager.getApplicableRegions( - new ProtectedCuboidRegion("temp", WorldGuardVectorUtilities.toBlockVector(minimum), WorldGuardVectorUtilities.toBlockVector(maximum)))); + return getWorldManager(Objects.requireNonNull(minimum.getWorld())) + .map(manager -> manager.getApplicableRegions( + new ProtectedCuboidRegion( + "temp", + WorldGuardVectorUtilities.toBlockVector(minimum), + WorldGuardVectorUtilities.toBlockVector(maximum) + ) + )); } private Optional queryValue(Player player, @NonNull Location location, @NonNull Flag flag) { - return getApplicableRegions(location).map(applicableRegions -> applicableRegions.queryValue(wrapPlayer(player) - .orElse(null), flag)); + return getApplicableRegions(location) + .map(applicableRegions -> applicableRegions.queryValue(wrapPlayer(player).orElse(null), flag)); } public IWrappedRegionSet wrapRegionSet(@NonNull World world, @NonNull ApplicableRegionSet regionSet) { return new IWrappedRegionSet() { - @SuppressWarnings("NullableProblems") @Override public Iterator iterator() { return Iterators.transform(regionSet.iterator(), region -> new WrappedRegion(world, region)); @@ -138,8 +148,10 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { @Override public Set getRegions() { - return regionSet.getRegions().stream() - .map(region -> new WrappedRegion(world, region)).collect(Collectors.toSet()); + return regionSet.getRegions() + .stream() + .map(region -> new WrappedRegion(world, region)) + .collect(Collectors.toSet()); } }; } @@ -165,7 +177,11 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { try { //noinspection unchecked handlerClass = (Class) proxyFactory.createClass(); - handlerConstructor = handlerClass.getDeclaredConstructor(WorldGuardImplementation.class, IHandler.class, Session.class); + handlerConstructor = handlerClass.getDeclaredConstructor( + WorldGuardImplementation.class, + IHandler.class, + Session.class + ); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -190,7 +206,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional queryFlag(Player player, Location location, IWrappedFlag flag) { + public Optional queryFlag(Player player, @NonNull Location location, @NonNull IWrappedFlag flag) { AbstractWrappedFlag wrappedFlag = (AbstractWrappedFlag) flag; return queryValue(player, location, wrappedFlag.getHandle()).flatMap(wrappedFlag::fromWGValue); } @@ -229,7 +245,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { @SuppressWarnings({"unchecked", "rawtypes"}) @Override - public Optional> registerFlag(String name, Class type, T defaultValue) { + public Optional> registerFlag(@NonNull String name, @NonNull Class type, T defaultValue) { final Flag flag; if (type.equals(WrappedState.class)) { flag = new StateFlag(name, defaultValue == WrappedState.ALLOW); @@ -259,14 +275,14 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional getRegion(World world, String id) { + public Optional getRegion(@NonNull World world, @NonNull String id) { return getWorldManager(world) .map(regionManager -> regionManager.getRegion(id)) .map(region -> new WrappedRegion(world, region)); } @Override - public Map getRegions(World world) { + public Map getRegions(@NonNull World world) { RegionManager regionManager = worldGuardPlugin.getRegionManager(world); Map regions = regionManager.getRegions(); @@ -277,7 +293,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Set getRegions(Location location) { + public Set getRegions(@NonNull Location location) { ApplicableRegionSet regionSet = getApplicableRegions(location).orElse(null); Set set = new HashSet<>(); @@ -290,7 +306,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Set getRegions(Location minimum, Location maximum) { + public Set getRegions(@NonNull Location minimum, @NonNull Location maximum) { ApplicableRegionSet regionSet = getApplicableRegions(minimum, maximum).orElse(null); Set set = new HashSet<>(); @@ -304,17 +320,27 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { @Override public Optional getRegionSet(@NonNull Location location) { - return getApplicableRegions(location).map(regionSet -> wrapRegionSet(location.getWorld(), regionSet)); + return getApplicableRegions(location) + .map(regionSet -> wrapRegionSet(Objects.requireNonNull(location.getWorld()), regionSet)); } @Override - public Optional addRegion(String id, List points, int minY, int maxY) { + public Optional addRegion(@NonNull String id, @NonNull List points, int minY, int maxY) { ProtectedRegion region; - World world = points.get(0).getWorld(); + World world = Objects.requireNonNull(points.get(0).getWorld()); if (points.size() == 2) { - region = new ProtectedCuboidRegion(id, WorldGuardVectorUtilities.toBlockVector(points.get(0)), WorldGuardVectorUtilities.toBlockVector(points.get(1))); + region = new ProtectedCuboidRegion( + id, + WorldGuardVectorUtilities.toBlockVector(points.get(0)), + WorldGuardVectorUtilities.toBlockVector(points.get(1)) + ); } else { - region = new ProtectedPolygonalRegion(id, WorldGuardVectorUtilities.toBlockVector2DList(points), minY, maxY); + region = new ProtectedPolygonalRegion( + id, + WorldGuardVectorUtilities.toBlockVector2DList(points), + minY, + maxY + ); } Optional manager = getWorldManager(world); @@ -327,10 +353,13 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional> removeRegion(World world, String id) { + public Optional> removeRegion(@NonNull World world, @NonNull String id) { Optional> set = getWorldManager(world).map(manager -> manager.removeRegion(id)); - return set.map(protectedRegions -> protectedRegions.stream().map(region -> new WrappedRegion(world, region)) - .collect(Collectors.toSet())); + return set.map(protectedRegions -> + protectedRegions.stream() + .map(region -> new WrappedRegion(world, region)) + .collect(Collectors.toSet()) + ); } @Override @@ -355,7 +384,12 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { public Set getPoints() { return ((Polygonal2DSelection) selection).getNativePoints().stream() .map(vector -> new BlockVector(vector.toVector())) - .map(vector -> WorldGuardVectorUtilities.fromBlockVector(selection.getWorld(), vector)) + .map(vector -> + WorldGuardVectorUtilities.fromBlockVector( + selection.getWorld(), + vector + ) + ) .collect(Collectors.toSet()); } @@ -370,7 +404,8 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } }; } else { - throw new UnsupportedOperationException("Unsupported " + selection.getClass().getSimpleName() + " selection!"); + throw new UnsupportedOperationException("Unsupported " + selection.getClass().getSimpleName() + + " selection!"); } }); } diff --git a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/handler/ProxyHandler.java b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/handler/ProxyHandler.java index c3c6740..0fae4ab 100644 --- a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/handler/ProxyHandler.java +++ b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/handler/ProxyHandler.java @@ -17,6 +17,7 @@ import org.codemc.worldguardwrapper.implementation.v6.region.WrappedRegion; import org.codemc.worldguardwrapper.region.IWrappedRegion; import javax.annotation.Nullable; +import java.util.Objects; import java.util.Set; public class ProxyHandler extends Handler { @@ -32,19 +33,48 @@ public class ProxyHandler extends Handler { @Override public void initialize(Player player, Location current, ApplicableRegionSet set) { - handler.initialize(player, current, implementation.wrapRegionSet(current.getWorld(), set)); + handler.initialize( + player, + current, + implementation.wrapRegionSet(Objects.requireNonNull(current.getWorld()), set) + ); } @Override public boolean testMoveTo(Player player, Location from, Location to, ApplicableRegionSet toSet, MoveType moveType) { - return handler.testMoveTo(player, from, to, implementation.wrapRegionSet(to.getWorld(), toSet), moveType.name()); + return handler.testMoveTo(player, + from, + to, + implementation.wrapRegionSet(Objects.requireNonNull(to.getWorld()), toSet), + moveType.name() + ); } @Override - public boolean onCrossBoundary(Player player, Location from, Location to, ApplicableRegionSet toSet, Set entered, Set exited, MoveType moveType) { - Set mappedEntered = ImmutableSet.copyOf(Collections2.transform(entered, region -> new WrappedRegion(to.getWorld(), region))); - Set mappedExited = ImmutableSet.copyOf(Collections2.transform(exited, region -> new WrappedRegion(from.getWorld(), region))); - return handler.onCrossBoundary(player, from, to, implementation.wrapRegionSet(to.getWorld(), toSet), mappedEntered, mappedExited, moveType.name()); + public boolean onCrossBoundary( + Player player, + Location from, + Location to, + ApplicableRegionSet toSet, + Set entered, + Set exited, + MoveType moveType + ) { + Set mappedEntered = ImmutableSet.copyOf( + Collections2.transform(entered, region -> new WrappedRegion(to.getWorld(), region)) + ); + Set mappedExited = ImmutableSet.copyOf( + Collections2.transform(exited, region -> new WrappedRegion(from.getWorld(), region)) + ); + return handler.onCrossBoundary( + player, + from, + to, + implementation.wrapRegionSet(Objects.requireNonNull(to.getWorld()), toSet), + mappedEntered, + mappedExited, + moveType.name() + ); } @Override diff --git a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardFlagUtilities.java b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardFlagUtilities.java index 46487a5..0dbfc48 100644 --- a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardFlagUtilities.java +++ b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardFlagUtilities.java @@ -88,4 +88,4 @@ public class WorldGuardFlagUtilities { location.getX(), location.getY(), location.getZ()); } -} \ No newline at end of file +} diff --git a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardVectorUtilities.java b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardVectorUtilities.java index 03e1d0f..31d5f63 100644 --- a/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardVectorUtilities.java +++ b/implementation/v6/src/main/java/org/codemc/worldguardwrapper/implementation/v6/utility/WorldGuardVectorUtilities.java @@ -21,7 +21,8 @@ public class WorldGuardVectorUtilities { } public List toBlockVector2DList(List locations) { - return locations.stream().map(location -> new BlockVector2D(location.getX(), location.getZ())).collect(Collectors.toList()); + return locations.stream() + .map(location -> new BlockVector2D(location.getX(), location.getZ())).collect(Collectors.toList()); } } diff --git a/implementation/v7/pom.xml b/implementation/v7/pom.xml index bea6c35..b24f9b9 100644 --- a/implementation/v7/pom.xml +++ b/implementation/v7/pom.xml @@ -7,7 +7,7 @@ org.codemc.worldguardwrapper worldguardwrapper-implementation - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT ../pom.xml @@ -29,13 +29,13 @@ ${project.groupId} worldguardwrapper-api - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT provided com.sk89q.worldguard worldguard-bukkit - 7.0.7 + 7.0.8 provided 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 3c20738..da1e2a4 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 @@ -13,15 +13,7 @@ import com.sk89q.worldguard.LocalPlayer; import com.sk89q.worldguard.WorldGuard; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.protection.ApplicableRegionSet; -import com.sk89q.worldguard.protection.flags.BooleanFlag; -import com.sk89q.worldguard.protection.flags.DoubleFlag; -import com.sk89q.worldguard.protection.flags.EnumFlag; -import com.sk89q.worldguard.protection.flags.Flag; -import com.sk89q.worldguard.protection.flags.IntegerFlag; -import com.sk89q.worldguard.protection.flags.LocationFlag; -import com.sk89q.worldguard.protection.flags.StateFlag; -import com.sk89q.worldguard.protection.flags.StringFlag; -import com.sk89q.worldguard.protection.flags.VectorFlag; +import com.sk89q.worldguard.protection.flags.*; import com.sk89q.worldguard.protection.flags.registry.FlagConflictException; import com.sk89q.worldguard.protection.flags.registry.FlagRegistry; import com.sk89q.worldguard.protection.managers.RegionManager; @@ -54,15 +46,7 @@ import org.codemc.worldguardwrapper.selection.ISelection; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; +import java.util.*; import java.util.function.Supplier; import java.util.stream.Collectors; @@ -77,8 +61,12 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } private Optional wrapPlayer(OfflinePlayer player) { - return Optional.ofNullable(player).map(bukkitPlayer -> bukkitPlayer.isOnline() ? - WorldGuardPlugin.inst().wrapPlayer((Player) bukkitPlayer) : WorldGuardPlugin.inst().wrapOfflinePlayer(bukkitPlayer)); + return Optional.ofNullable(player).map(bukkitPlayer -> { + if (bukkitPlayer.isOnline()) { + return WorldGuardPlugin.inst().wrapPlayer((Player) bukkitPlayer); + } + return WorldGuardPlugin.inst().wrapOfflinePlayer(bukkitPlayer); + }); } private Optional getWorldManager(@NonNull World world) { @@ -86,23 +74,29 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } private Optional getApplicableRegions(@NonNull Location location) { - return getWorldManager(location.getWorld()).map(manager -> manager.getApplicableRegions(BukkitAdapter.asBlockVector(location))); + return getWorldManager(Objects.requireNonNull(location.getWorld())) + .map(manager -> manager.getApplicableRegions(BukkitAdapter.asBlockVector(location))); } private Optional getApplicableRegions(@NonNull Location minimum, @NonNull Location maximum) { - return getWorldManager(minimum.getWorld()).map(manager -> manager.getApplicableRegions( - new ProtectedCuboidRegion("temp", BukkitAdapter.asBlockVector(minimum), BukkitAdapter.asBlockVector(maximum)))); + return getWorldManager(Objects.requireNonNull(minimum.getWorld())) + .map(manager -> manager.getApplicableRegions( + new ProtectedCuboidRegion( + "temp", + BukkitAdapter.asBlockVector(minimum), + BukkitAdapter.asBlockVector(maximum) + ) + )); } private Optional queryValue(Player player, @NonNull Location location, @NonNull Flag flag) { - return getApplicableRegions(location).map(applicableRegions -> applicableRegions.queryValue(wrapPlayer(player) - .orElse(null), flag)); + return getApplicableRegions(location) + .map(applicableRegions -> applicableRegions.queryValue(wrapPlayer(player).orElse(null), flag)); } public IWrappedRegionSet wrapRegionSet(@NonNull World world, @NonNull ApplicableRegionSet regionSet) { return new IWrappedRegionSet() { - @SuppressWarnings("NullableProblems") @Override public Iterator iterator() { return Iterators.transform(regionSet.iterator(), region -> new WrappedRegion(world, region)); @@ -178,7 +172,11 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { try { //noinspection unchecked handlerClass = (Class) proxyFactory.createClass(); - handlerConstructor = handlerClass.getDeclaredConstructor(WorldGuardImplementation.class, IHandler.class, Session.class); + handlerConstructor = handlerClass.getDeclaredConstructor( + WorldGuardImplementation.class, + IHandler.class, + Session.class + ); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -203,7 +201,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional queryFlag(Player player, Location location, IWrappedFlag flag) { + public Optional queryFlag(Player player, @NonNull Location location, @NonNull IWrappedFlag flag) { AbstractWrappedFlag wrappedFlag = (AbstractWrappedFlag) flag; return queryValue(player, location, wrappedFlag.getHandle()).flatMap(wrappedFlag::fromWGValue); } @@ -242,7 +240,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { @SuppressWarnings({"unchecked", "rawtypes"}) @Override - public Optional> registerFlag(String name, Class type, T defaultValue) { + public Optional> registerFlag(@NonNull String name, @NonNull Class type, T defaultValue) { final Flag flag; if (type.equals(WrappedState.class)) { flag = new StateFlag(name, defaultValue == WrappedState.ALLOW); @@ -272,14 +270,14 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional getRegion(World world, String id) { + public Optional getRegion(@NonNull World world, @NonNull String id) { return getWorldManager(world) .map(regionManager -> regionManager.getRegion(id)) .map(region -> new WrappedRegion(world, region)); } @Override - public Map getRegions(World world) { + public Map getRegions(@NonNull World world) { RegionManager regionManager = core.getPlatform().getRegionContainer().get(new BukkitWorld(world)); if (regionManager == null) { return Collections.emptyMap(); @@ -292,7 +290,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Set getRegions(Location location) { + public Set getRegions(@NonNull Location location) { ApplicableRegionSet regionSet = getApplicableRegions(location).orElse(null); if (regionSet == null) { return Collections.emptySet(); @@ -304,7 +302,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Set getRegions(Location minimum, Location maximum) { + public Set getRegions(@NonNull Location minimum, @NonNull Location maximum) { ApplicableRegionSet regionSet = getApplicableRegions(minimum, maximum).orElse(null); if (regionSet == null) { return Collections.emptySet(); @@ -321,9 +319,9 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional addRegion(String id, List points, int minY, int maxY) { + public Optional addRegion(@NonNull String id, @NonNull List points, int minY, int maxY) { ProtectedRegion region; - World world = points.get(0).getWorld(); + World world = Objects.requireNonNull(points.get(0).getWorld()); if (points.size() == 2) { region = new ProtectedCuboidRegion(id, BukkitAdapter.asBlockVector(points.get(0)), BukkitAdapter.asBlockVector(points.get(1))); @@ -345,7 +343,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } @Override - public Optional> removeRegion(World world, String id) { + public Optional> removeRegion(@NonNull World world, @NonNull String id) { Optional> set = getWorldManager(world).map(manager -> manager.removeRegion(id)); return set.map(protectedRegions -> protectedRegions.stream() .map(region -> new WrappedRegion(world, region)).collect(Collectors.toSet())); @@ -355,13 +353,18 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { public Optional getPlayerSelection(@NonNull Player player) { Region region; try { - region = WorldEdit.getInstance().getSessionManager().get(BukkitAdapter.adapt(player)).getSelection(BukkitAdapter.adapt(player.getWorld())); + region = WorldEdit.getInstance() + .getSessionManager() + .get(BukkitAdapter.adapt(player)) + .getSelection(BukkitAdapter.adapt(player.getWorld())); } catch (IncompleteRegionException e) { region = null; } return Optional.ofNullable(region) .map(selection -> { - World world = Optional.ofNullable(selection.getWorld()).map(BukkitAdapter::adapt).orElse(null); + World world = Optional.ofNullable(selection.getWorld()) + .map(BukkitAdapter::adapt) + .orElse(null); if (world == null) { return null; } @@ -398,7 +401,8 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { } }; } else { - throw new UnsupportedOperationException("Unsupported " + selection.getClass().getSimpleName() + " selection!"); + throw new UnsupportedOperationException("Unsupported " + selection.getClass().getSimpleName() + + " selection!"); } }); } diff --git a/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/handler/ProxyHandler.java b/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/handler/ProxyHandler.java index af8008f..a538839 100644 --- a/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/handler/ProxyHandler.java +++ b/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/handler/ProxyHandler.java @@ -19,6 +19,7 @@ import org.codemc.worldguardwrapper.implementation.v7.region.WrappedRegion; import org.codemc.worldguardwrapper.region.IWrappedRegion; import javax.annotation.Nullable; +import java.util.Objects; import java.util.Set; public class ProxyHandler extends Handler { @@ -36,25 +37,61 @@ public class ProxyHandler extends Handler { public void initialize(LocalPlayer player, com.sk89q.worldedit.util.Location current, ApplicableRegionSet set) { Player bukkitPlayer = BukkitAdapter.adapt(player); Location bukkitLocation = BukkitAdapter.adapt(current); - handler.initialize(bukkitPlayer, bukkitLocation, implementation.wrapRegionSet(bukkitLocation.getWorld(), set)); + handler.initialize( + bukkitPlayer, + bukkitLocation, + implementation.wrapRegionSet(Objects.requireNonNull(bukkitLocation.getWorld()),set) + ); } @Override - public boolean testMoveTo(LocalPlayer player, com.sk89q.worldedit.util.Location from, com.sk89q.worldedit.util.Location to, ApplicableRegionSet toSet, MoveType moveType) { + public boolean testMoveTo( + LocalPlayer player, + com.sk89q.worldedit.util.Location from, + com.sk89q.worldedit.util.Location to, + ApplicableRegionSet toSet, + MoveType moveType + ) { Player bukkitPlayer = BukkitAdapter.adapt(player); Location bukkitFrom = BukkitAdapter.adapt(from); Location bukkitTo = BukkitAdapter.adapt(to); - return handler.testMoveTo(bukkitPlayer, bukkitFrom, bukkitTo, implementation.wrapRegionSet(bukkitTo.getWorld(), toSet), moveType.name()); + return handler.testMoveTo( + bukkitPlayer, + bukkitFrom, + bukkitTo, + implementation.wrapRegionSet(Objects.requireNonNull(bukkitTo.getWorld()), toSet), + moveType.name() + ); } @Override - public boolean onCrossBoundary(LocalPlayer player, com.sk89q.worldedit.util.Location from, com.sk89q.worldedit.util.Location to, ApplicableRegionSet toSet, Set entered, Set exited, MoveType moveType) { + public boolean onCrossBoundary( + LocalPlayer player, + com.sk89q.worldedit.util.Location from, + com.sk89q.worldedit.util.Location to, + ApplicableRegionSet toSet, + Set entered, + Set exited, + MoveType moveType + ) { Player bukkitPlayer = BukkitAdapter.adapt(player); Location bukkitFrom = BukkitAdapter.adapt(from); Location bukkitTo = BukkitAdapter.adapt(to); - Set mappedEntered = ImmutableSet.copyOf(Collections2.transform(entered, region -> new WrappedRegion(bukkitTo.getWorld(), region))); - Set mappedExited = ImmutableSet.copyOf(Collections2.transform(exited, region -> new WrappedRegion(bukkitFrom.getWorld(), region))); - return handler.onCrossBoundary(bukkitPlayer, bukkitFrom, bukkitTo, implementation.wrapRegionSet(bukkitTo.getWorld(), toSet), mappedEntered, mappedExited, moveType.name()); + Set mappedEntered = ImmutableSet.copyOf(Collections2.transform(entered, region -> + new WrappedRegion(bukkitTo.getWorld(), region) + )); + Set mappedExited = ImmutableSet.copyOf(Collections2.transform(exited, region -> + new WrappedRegion(bukkitFrom.getWorld(), region) + )); + return handler.onCrossBoundary( + bukkitPlayer, + bukkitFrom, + bukkitTo, + implementation.wrapRegionSet(Objects.requireNonNull(bukkitTo.getWorld()), toSet), + mappedEntered, + mappedExited, + moveType.name() + ); } @Override diff --git a/library/pom.xml b/library/pom.xml index d67095b..211eb66 100644 --- a/library/pom.xml +++ b/library/pom.xml @@ -7,7 +7,7 @@ org.codemc.worldguardwrapper worldguardwrapper-parent - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT ../pom.xml @@ -19,25 +19,25 @@ ${project.groupId} worldguardwrapper-api - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT true ${project.groupId} worldguardwrapper-implementation-legacy - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT true ${project.groupId} worldguardwrapper-implementation-v6 - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT true ${project.groupId} worldguardwrapper-implementation-v7 - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT true diff --git a/library/src/main/java/org/codemc/worldguardwrapper/WorldGuardWrapper.java b/library/src/main/java/org/codemc/worldguardwrapper/WorldGuardWrapper.java index 6add1ae..f38c2b7 100644 --- a/library/src/main/java/org/codemc/worldguardwrapper/WorldGuardWrapper.java +++ b/library/src/main/java/org/codemc/worldguardwrapper/WorldGuardWrapper.java @@ -6,6 +6,8 @@ import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; import org.codemc.worldguardwrapper.implementation.IWorldGuardImplementation; + +@SuppressWarnings("unused") public class WorldGuardWrapper implements IWorldGuardImplementation { private static WorldGuardWrapper instance; @@ -23,8 +25,8 @@ public class WorldGuardWrapper implements IWorldGuardImplementation { } @Delegate - private IWorldGuardImplementation implementation; - private Listener listener; + private final IWorldGuardImplementation implementation; + private final Listener listener; private WorldGuardWrapper() { int targetVersion; @@ -46,15 +48,6 @@ public class WorldGuardWrapper implements IWorldGuardImplementation { implementation = new org.codemc.worldguardwrapper.implementation.legacy.WorldGuardImplementation(); listener = new org.codemc.worldguardwrapper.implementation.legacy.event.EventListener(); } else { - /* - if (Bukkit.getPluginManager().isPluginEnabled("FastAsyncWorldEdit")) { - implementation = new org.codemc.worldguardwrapper.implementation.v7fawe.WorldGuardImplementation(); - listener = new org.codemc.worldguardwrapper.implementation.v7fawe.event.EventListener(); - } else { - implementation = new org.codemc.worldguardwrapper.implementation.v7.WorldGuardImplementation(); - listener = new org.codemc.worldguardwrapper.implementation.v7.event.EventListener(); - } - */ implementation = new org.codemc.worldguardwrapper.implementation.v7.WorldGuardImplementation(); listener = new org.codemc.worldguardwrapper.implementation.v7.event.EventListener(); } diff --git a/pom.xml b/pom.xml index e906c73..6feeb23 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.codemc.worldguardwrapper worldguardwrapper-parent - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT pom @@ -28,7 +28,7 @@ jenkins - http://ci.codemc.org/job/CodeMC/job/HolographicDisplays/ + https://ci.codemc.io/job/CodeMC/job/WorldGuardWrapper/ @@ -50,7 +50,7 @@ UTF-8 UTF-8 - 1.19.1-R0.1-SNAPSHOT + 1.20.1-R0.1-SNAPSHOT @@ -89,13 +89,13 @@ org.projectlombok lombok - 1.18.24 + 1.18.28 provided org.javassist javassist - 3.29.1-GA + 3.29.2-GA true @@ -134,17 +134,17 @@ org.apache.maven.plugins maven-clean-plugin - 3.2.0 + 3.3.1 org.apache.maven.plugins maven-resources-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins maven-compiler-plugin - 3.10.1 + 3.11.0 1.8 1.8 @@ -154,17 +154,17 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.2 + 3.1.2 org.apache.maven.plugins maven-jar-plugin - 3.2.2 + 3.3.0 org.apache.maven.plugins maven-javadoc-plugin - 3.4.1 + 3.5.0 public false @@ -173,12 +173,12 @@ org.apache.maven.plugins maven-source-plugin - 3.2.1 + 3.3.0 org.apache.maven.plugins maven-shade-plugin - 3.3.0 + 3.5.0 false @@ -186,12 +186,12 @@ org.apache.maven.plugins maven-install-plugin - 3.0.1 + 3.1.1 org.apache.maven.plugins maven-deploy-plugin - 3.0.0 + 3.1.1