From 4d084282e5b81350c4cbd6a3b6555deabe3a5e33 Mon Sep 17 00:00:00 2001 From: isokissa3 Date: Sat, 15 Aug 2020 00:56:26 +0300 Subject: [PATCH] Fixed TNT not working on allow-block-place, closes #12 --- .../worldguardextraflags/listeners/BlockListener.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/BlockListener.java b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/BlockListener.java index 2596363..92808b2 100644 --- a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/BlockListener.java +++ b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/BlockListener.java @@ -73,17 +73,23 @@ public class BlockListener implements Listener for(Block block : event.getBlocks()) { + Material type = block.getType(); + if (type == Material.AIR) //Workaround for https://github.com/aromaa/WorldGuardExtraFlagsPlugin/issues/12 + { + type = event.getEffectiveMaterial(); + } + ApplicableRegionSet regions = this.plugin.getWorldGuardCommunicator().getRegionContainer().createQuery().getApplicableRegions(block.getLocation()); Set state = WorldGuardUtils.queryValue(player, player.getWorld(), regions.getRegions(), Flags.ALLOW_BLOCK_PLACE); - if (state != null && state.contains(block.getType())) + if (state != null && state.contains(type)) { event.setResult(Result.ALLOW); } else { Set state2 = WorldGuardUtils.queryValue(player, player.getWorld(), regions.getRegions(), Flags.DENY_BLOCK_PLACE); - if (state2 != null && state2.contains(block.getType())) + if (state2 != null && state2.contains(type)) { event.setResult(Result.DENY); return;