mirror of
https://github.com/exituser/Brewery.git
synced 2026-09-17 06:38:56 +00:00
Added WorldGuard Support
This commit is contained in:
@@ -86,6 +86,7 @@ public class LanguageReader {
|
|||||||
|
|
||||||
/* Error */
|
/* Error */
|
||||||
defaults.put("Error_NoPermissions", "&cYou have no permission to do this!");
|
defaults.put("Error_NoPermissions", "&cYou have no permission to do this!");
|
||||||
|
defaults.put("Error_NoBarrelAccess", "&cYou have no permission to access this barrel!");
|
||||||
defaults.put("Error_UnknownCommand", "Unknown Command");
|
defaults.put("Error_UnknownCommand", "Unknown Command");
|
||||||
defaults.put("Error_ShowHelp", "use &6/br help &fto display the help");
|
defaults.put("Error_ShowHelp", "use &6/br help &fto display the help");
|
||||||
defaults.put("Error_PlayerCommand", "&cThis command can only be executed as player");
|
defaults.put("Error_PlayerCommand", "&cThis command can only be executed as player");
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import com.dre.brewery.BCauldron;
|
import com.dre.brewery.BCauldron;
|
||||||
import com.dre.brewery.BIngredients;
|
import com.dre.brewery.BIngredients;
|
||||||
@@ -26,6 +27,10 @@ import com.dre.brewery.BPlayer;
|
|||||||
import com.dre.brewery.Words;
|
import com.dre.brewery.Words;
|
||||||
import com.dre.brewery.Wakeup;
|
import com.dre.brewery.Wakeup;
|
||||||
import com.dre.brewery.P;
|
import com.dre.brewery.P;
|
||||||
|
import com.sk89q.worldguard.LocalPlayer;
|
||||||
|
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||||
|
import com.sk89q.worldguard.protection.ApplicableRegionSet;
|
||||||
|
import com.sk89q.worldguard.protection.flags.DefaultFlag;
|
||||||
|
|
||||||
public class PlayerListener implements Listener {
|
public class PlayerListener implements Listener {
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
@@ -92,6 +97,23 @@ public class PlayerListener implements Listener {
|
|||||||
Barrel barrel = Barrel.get(clickedBlock);
|
Barrel barrel = Barrel.get(clickedBlock);
|
||||||
if (barrel != null) {
|
if (barrel != null) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
||||||
|
Plugin plugin = P.p.getServer().getPluginManager().getPlugin("WorldGuard");
|
||||||
|
if (plugin != null && plugin instanceof WorldGuardPlugin) {
|
||||||
|
WorldGuardPlugin wg = (WorldGuardPlugin) plugin;
|
||||||
|
if (!wg.getGlobalRegionManager().hasBypass(player, player.getWorld())) {
|
||||||
|
ApplicableRegionSet region = wg.getRegionManager(player.getWorld()).getApplicableRegions(clickedBlock.getLocation());
|
||||||
|
if (region != null) {
|
||||||
|
LocalPlayer localPlayer = wg.wrapPlayer(player);
|
||||||
|
if (!region.allows(DefaultFlag.CHEST_ACCESS, localPlayer)) {
|
||||||
|
if (!region.canBuild(localPlayer)) {
|
||||||
|
P.p.msg(player, P.p.languageReader.get("Error_NoBarrelAccess"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Block broken = Barrel.getBrokenBlock(clickedBlock);
|
Block broken = Barrel.getBrokenBlock(clickedBlock);
|
||||||
// barrel is built correctly
|
// barrel is built correctly
|
||||||
if (broken == null) {
|
if (broken == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user