diff --git a/pom.xml b/pom.xml
index 28b4c47..8c82f9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.dre
brewery
- 1.7
+ 1.7.1
Brewery
@@ -33,7 +33,7 @@
maven-compiler-plugin
- 3.7.0
+ 3.8.0
1.8
1.8
@@ -43,7 +43,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.1.1
+ 3.2.1
package
@@ -170,7 +170,7 @@
com.sk89q.worldedit
worldedit-bukkit
- 7.0.0-SNAPSHOT
+ 7.0.0-beta-02
provided
@@ -182,7 +182,7 @@
com.sk89q.worldedit
worldedit-core
- 7.0.0-SNAPSHOT
+ 7.0.0-beta-02
provided
diff --git a/src/com/dre/brewery/integration/WGBarrel7.java b/src/com/dre/brewery/integration/WGBarrel7.java
index 529602f..83b1d23 100644
--- a/src/com/dre/brewery/integration/WGBarrel7.java
+++ b/src/com/dre/brewery/integration/WGBarrel7.java
@@ -23,7 +23,7 @@ public class WGBarrel7 implements WGBarrel {
WorldGuardPlugin wg = (WorldGuardPlugin) plugin;
WorldGuardPlatform platform = WorldGuard.getInstance().getPlatform();
- World world = platform.getWorldByName(spigot.getWorld().getName());
+ World world = platform.getMatcher().getWorldByName(spigot.getWorld().getName());
if (!platform.getGlobalStateManager().get(world).useRegions) return true; // Region support disabled
WorldEditPlugin we = JavaPlugin.getPlugin(WorldEditPlugin.class);
if (new RegionPermissionModel(we.wrapPlayer(player)).mayIgnoreRegionProtection(world)) return true; // Whitelisted cause
diff --git a/src/com/dre/brewery/integration/WGBarrelOld.java b/src/com/dre/brewery/integration/WGBarrelOld.java
index 11f3e9e..0b4af35 100644
--- a/src/com/dre/brewery/integration/WGBarrelOld.java
+++ b/src/com/dre/brewery/integration/WGBarrelOld.java
@@ -4,6 +4,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import org.bukkit.block.Block;
+import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -13,17 +14,20 @@ import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.ApplicableRegionSet;
import com.sk89q.worldguard.protection.flags.DefaultFlag;
import com.sk89q.worldguard.protection.flags.StateFlag;
+import com.sk89q.worldguard.protection.managers.RegionManager;
public class WGBarrelOld implements WGBarrel {
private Method allows;
private Method canBuild;
+ private Method getApplicableRegions;
public WGBarrelOld() {
try {
allows = ApplicableRegionSet.class.getMethod("allows", StateFlag.class, LocalPlayer.class);
canBuild = ApplicableRegionSet.class.getMethod("canBuild", LocalPlayer.class);
+ getApplicableRegions = RegionManager.class.getMethod("getApplicableRegions", Location.class);
} catch (NoSuchMethodException e) {
P.p.errorLog("Failed to Hook WorldGuard for Barrel Open Permissions! Opening Barrels will NOT work!");
P.p.errorLog("Brewery was tested with version 5.8 to 6.1 of WorldGuard!");
@@ -36,12 +40,11 @@ public class WGBarrelOld implements WGBarrel {
public boolean checkAccess(Player player, Block spigot, Plugin plugin) {
WorldGuardPlugin wg = (WorldGuardPlugin) plugin;
if (!wg.getGlobalRegionManager().hasBypass(player, player.getWorld())) {
+ try {
+ Object region = getApplicableRegions.invoke(wg.getRegionManager(player.getWorld()), spigot.getLocation());
- Object region = wg.getRegionManager(player.getWorld()).getApplicableRegions(spigot.getLocation());
-
- if (region != null) {
- LocalPlayer localPlayer = wg.wrapPlayer(player);
- try {
+ if (region != null) {
+ LocalPlayer localPlayer = wg.wrapPlayer(player);
if (!(Boolean) allows.invoke(region, DefaultFlag.CHEST_ACCESS, localPlayer)) {
if (!(Boolean) canBuild.invoke(region, localPlayer)) {
@@ -49,11 +52,11 @@ public class WGBarrelOld implements WGBarrel {
return false;
}
}
+ }
- } catch (IllegalAccessException | InvocationTargetException e) {
+ } catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
return false;
- }
}
}
return true;