mirror of
https://github.com/exituser/Brewery.git
synced 2026-09-17 05:28:59 +00:00
Merge pull request #176 from Sataniel98/master
Fix for latest WorldGuard 7 builds
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<groupId>com.dre</groupId>
|
<groupId>com.dre</groupId>
|
||||||
<artifactId>brewery</artifactId>
|
<artifactId>brewery</artifactId>
|
||||||
<version>1.7</version>
|
<version>1.7.1</version>
|
||||||
<name>Brewery</name>
|
<name>Brewery</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.7.0</version>
|
<version>3.8.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.8</source>
|
<source>1.8</source>
|
||||||
<target>1.8</target>
|
<target>1.8</target>
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
<artifactId>maven-shade-plugin</artifactId>
|
||||||
<version>3.1.1</version>
|
<version>3.2.1</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>package</phase>
|
<phase>package</phase>
|
||||||
@@ -170,7 +170,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sk89q.worldedit</groupId>
|
<groupId>com.sk89q.worldedit</groupId>
|
||||||
<artifactId>worldedit-bukkit</artifactId>
|
<artifactId>worldedit-bukkit</artifactId>
|
||||||
<version>7.0.0-SNAPSHOT</version>
|
<version>7.0.0-beta-02</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sk89q.worldedit</groupId>
|
<groupId>com.sk89q.worldedit</groupId>
|
||||||
<artifactId>worldedit-core</artifactId>
|
<artifactId>worldedit-core</artifactId>
|
||||||
<version>7.0.0-SNAPSHOT</version>
|
<version>7.0.0-beta-02</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class WGBarrel7 implements WGBarrel {
|
|||||||
WorldGuardPlugin wg = (WorldGuardPlugin) plugin;
|
WorldGuardPlugin wg = (WorldGuardPlugin) plugin;
|
||||||
WorldGuardPlatform platform = WorldGuard.getInstance().getPlatform();
|
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
|
if (!platform.getGlobalStateManager().get(world).useRegions) return true; // Region support disabled
|
||||||
WorldEditPlugin we = JavaPlugin.getPlugin(WorldEditPlugin.class);
|
WorldEditPlugin we = JavaPlugin.getPlugin(WorldEditPlugin.class);
|
||||||
if (new RegionPermissionModel(we.wrapPlayer(player)).mayIgnoreRegionProtection(world)) return true; // Whitelisted cause
|
if (new RegionPermissionModel(we.wrapPlayer(player)).mayIgnoreRegionProtection(world)) return true; // Whitelisted cause
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.lang.reflect.InvocationTargetException;
|
|||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
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.ApplicableRegionSet;
|
||||||
import com.sk89q.worldguard.protection.flags.DefaultFlag;
|
import com.sk89q.worldguard.protection.flags.DefaultFlag;
|
||||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||||
|
import com.sk89q.worldguard.protection.managers.RegionManager;
|
||||||
|
|
||||||
|
|
||||||
public class WGBarrelOld implements WGBarrel {
|
public class WGBarrelOld implements WGBarrel {
|
||||||
|
|
||||||
private Method allows;
|
private Method allows;
|
||||||
private Method canBuild;
|
private Method canBuild;
|
||||||
|
private Method getApplicableRegions;
|
||||||
|
|
||||||
public WGBarrelOld() {
|
public WGBarrelOld() {
|
||||||
try {
|
try {
|
||||||
allows = ApplicableRegionSet.class.getMethod("allows", StateFlag.class, LocalPlayer.class);
|
allows = ApplicableRegionSet.class.getMethod("allows", StateFlag.class, LocalPlayer.class);
|
||||||
canBuild = ApplicableRegionSet.class.getMethod("canBuild", LocalPlayer.class);
|
canBuild = ApplicableRegionSet.class.getMethod("canBuild", LocalPlayer.class);
|
||||||
|
getApplicableRegions = RegionManager.class.getMethod("getApplicableRegions", Location.class);
|
||||||
} catch (NoSuchMethodException e) {
|
} catch (NoSuchMethodException e) {
|
||||||
P.p.errorLog("Failed to Hook WorldGuard for Barrel Open Permissions! Opening Barrels will NOT work!");
|
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!");
|
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) {
|
public boolean checkAccess(Player player, Block spigot, Plugin plugin) {
|
||||||
WorldGuardPlugin wg = (WorldGuardPlugin) plugin;
|
WorldGuardPlugin wg = (WorldGuardPlugin) plugin;
|
||||||
if (!wg.getGlobalRegionManager().hasBypass(player, player.getWorld())) {
|
if (!wg.getGlobalRegionManager().hasBypass(player, player.getWorld())) {
|
||||||
|
try {
|
||||||
Object region = wg.getRegionManager(player.getWorld()).getApplicableRegions(spigot.getLocation());
|
Object region = getApplicableRegions.invoke(wg.getRegionManager(player.getWorld()), spigot.getLocation());
|
||||||
|
|
||||||
if (region != null) {
|
if (region != null) {
|
||||||
LocalPlayer localPlayer = wg.wrapPlayer(player);
|
LocalPlayer localPlayer = wg.wrapPlayer(player);
|
||||||
try {
|
|
||||||
|
|
||||||
if (!(Boolean) allows.invoke(region, DefaultFlag.CHEST_ACCESS, localPlayer)) {
|
if (!(Boolean) allows.invoke(region, DefaultFlag.CHEST_ACCESS, localPlayer)) {
|
||||||
if (!(Boolean) canBuild.invoke(region, localPlayer)) {
|
if (!(Boolean) canBuild.invoke(region, localPlayer)) {
|
||||||
@@ -49,13 +52,13 @@ public class WGBarrelOld implements WGBarrel {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user