forked from clone/WorldGuardWrapper
		
	WG 7 hotfix
This commit is contained in:
		
							parent
							
								
									fd1178edce
								
							
						
					
					
						commit
						7efc516a14
					
				|  | @ -26,10 +26,6 @@ | ||||||
|     </properties> |     </properties> | ||||||
| 
 | 
 | ||||||
|     <repositories> |     <repositories> | ||||||
|         <repository> |  | ||||||
|             <id>codemc-repo</id> |  | ||||||
|             <url>https://repo.codemc.org/repository/maven-public/</url> |  | ||||||
|         </repository> |  | ||||||
|         <repository> |         <repository> | ||||||
|             <id>sk89q-repo</id> |             <id>sk89q-repo</id> | ||||||
|             <url>http://maven.sk89q.com/repo/</url> |             <url>http://maven.sk89q.com/repo/</url> | ||||||
|  |  | ||||||
|  | @ -20,6 +20,94 @@ | ||||||
|             <artifactId>worldguardwrapper-implementation-interface</artifactId> |             <artifactId>worldguardwrapper-implementation-interface</artifactId> | ||||||
|             <version>1.0.3-SNAPSHOT</version> |             <version>1.0.3-SNAPSHOT</version> | ||||||
|         </dependency> |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.sk89q.worldedit</groupId> | ||||||
|  |             <artifactId>worldedit-bukkit</artifactId> | ||||||
|  |             <version>7.0.0-20181112.023924-25</version> | ||||||
|  |             <scope>provided</scope> | ||||||
|  |             <exclusions> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>org.bstats</groupId> | ||||||
|  |                     <artifactId>bstats-bukkit</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>io.papermc</groupId> | ||||||
|  |                     <artifactId>paperlib</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>org.bukkit</groupId> | ||||||
|  |                     <artifactId>bukkit</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.sk89q.intake</groupId> | ||||||
|  |                     <artifactId>intake</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.sk89q</groupId> | ||||||
|  |                     <artifactId>squirrelid</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>org.flywaydb</groupId> | ||||||
|  |                     <artifactId>flyway-core</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>org.khelekore</groupId> | ||||||
|  |                     <artifactId>prtree</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.googlecode.json-simple</groupId> | ||||||
|  |                     <artifactId>json-simple</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>net.sf.opencsv</groupId> | ||||||
|  |                     <artifactId>opencsv</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.sk89q</groupId> | ||||||
|  |                     <artifactId>commandbook</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>de.schlichtherle</groupId> | ||||||
|  |                     <artifactId>truezip</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>rhino</groupId> | ||||||
|  |                     <artifactId>js</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>org.yaml</groupId> | ||||||
|  |                     <artifactId>snakeyaml</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.google.guava</groupId> | ||||||
|  |                     <artifactId>guava</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.sk89q</groupId> | ||||||
|  |                     <artifactId>jchronic</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.google.code.findbugs</groupId> | ||||||
|  |                     <artifactId>jsr305</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.thoughtworks.paranamer</groupId> | ||||||
|  |                     <artifactId>paranamer</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.google.code.gson</groupId> | ||||||
|  |                     <artifactId>gson</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.sk89q.lib</groupId> | ||||||
|  |                     <artifactId>jlibnoise</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <groupId>com.sk89q</groupId> | ||||||
|  |                     <artifactId>dummypermscompat</artifactId> | ||||||
|  |                 </exclusion> | ||||||
|  |             </exclusions> | ||||||
|  |         </dependency> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>com.sk89q.worldguard</groupId> |             <groupId>com.sk89q.worldguard</groupId> | ||||||
|             <artifactId>worldguard-legacy</artifactId> |             <artifactId>worldguard-legacy</artifactId> | ||||||
|  |  | ||||||
|  | @ -1,9 +1,10 @@ | ||||||
| package org.codemc.worldguardwrapper.implementation.v7; | 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.BukkitAdapter; | ||||||
| import com.sk89q.worldedit.bukkit.BukkitWorld; | 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.LocalPlayer; | ||||||
| import com.sk89q.worldguard.WorldGuard; | import com.sk89q.worldguard.WorldGuard; | ||||||
| import com.sk89q.worldguard.bukkit.WorldGuardPlugin; | import com.sk89q.worldguard.bukkit.WorldGuardPlugin; | ||||||
|  | @ -43,6 +44,22 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { | ||||||
|         plugin = WorldGuardPlugin.inst(); |         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<BlockVector2D> toBlockVector2DList(List<Location> locations) { | ||||||
|  |         return locations.stream() | ||||||
|  |                 .map(location -> new BlockVector2D(location.getX(), location.getZ())) | ||||||
|  |                 .collect(Collectors.toList()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     private Optional<LocalPlayer> wrapPlayer(Player player) { |     private Optional<LocalPlayer> wrapPlayer(Player player) { | ||||||
|         return Optional.ofNullable(player).map(bukkitPlayer -> plugin.wrapPlayer(player)); |         return Optional.ofNullable(player).map(bukkitPlayer -> plugin.wrapPlayer(player)); | ||||||
|     } |     } | ||||||
|  | @ -56,7 +73,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private Optional<ApplicableRegionSet> getApplicableRegions(@NonNull Location location) { |     private Optional<ApplicableRegionSet> 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 <V> Optional<V> queryValue(Player player, @NonNull Location location, @NonNull Flag<V> flag) { |     private <V> Optional<V> queryValue(Player player, @NonNull Location location, @NonNull Flag<V> flag) { | ||||||
|  | @ -67,14 +84,6 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { | ||||||
|         return getApplicableRegions(location).map(applicableRegions -> applicableRegions.queryState(wrapPlayer(player).orElse(null), stateFlags)); |         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<BlockVector2> toBlockVector2List(List<Location> locations) { |  | ||||||
|         return locations.stream().map(location -> BlockVector2.at(location.getX(), location.getZ())).collect(Collectors.toList()); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     private WrappedRegion toRegion(ProtectedRegion region) { |     private WrappedRegion toRegion(ProtectedRegion region) { | ||||||
|         return new WrappedRegion() { |         return new WrappedRegion() { | ||||||
| 
 | 
 | ||||||
|  | @ -103,7 +112,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { | ||||||
| 
 | 
 | ||||||
|             @Override |             @Override | ||||||
|             public boolean contains(Location location) { |             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<WrappedRegion> addRegion(String id, List<Location> points, int minY, int maxY) { |     public Optional<WrappedRegion> addRegion(String id, List<Location> points, int minY, int maxY) { | ||||||
|         ProtectedRegion region; |         ProtectedRegion region; | ||||||
|         if (points.size() == 2) { |         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 { |         } else { | ||||||
|             region = new ProtectedPolygonalRegion(id, toBlockVector2List(points), minY, maxY); |             region = new ProtectedPolygonalRegion(id, toBlockVector2DList(points), minY, maxY); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         Optional<RegionManager> manager = getWorldManager(points.get(0).getWorld()); |         Optional<RegionManager> manager = getWorldManager(points.get(0).getWorld()); | ||||||
|  | @ -234,10 +243,6 @@ public class WorldGuardImplementation implements IWorldGuardImplementation { | ||||||
|     @Override |     @Override | ||||||
|     public Optional<Set<WrappedRegion>> removeRegion(World world, String id) { |     public Optional<Set<WrappedRegion>> removeRegion(World world, String id) { | ||||||
|         Optional<Set<ProtectedRegion>> set = getWorldManager(world).map(manager -> manager.removeRegion(id)); |         Optional<Set<ProtectedRegion>> set = getWorldManager(world).map(manager -> manager.removeRegion(id)); | ||||||
|         if (set.isPresent()) { |         return set.map(protectedRegions -> protectedRegions.stream().map(this::toRegion).collect(Collectors.toSet())); | ||||||
|             return Optional.of(set.get().stream().map(region -> toRegion(region)).collect(Collectors.toSet())); |  | ||||||
|         } else { |  | ||||||
|             return Optional.empty(); |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user