diff --git a/classes/artifacts/Factions_jar/Factions.jar b/classes/artifacts/Factions_jar/Factions.jar index 7e6457bf..2eb1846c 100644 Binary files a/classes/artifacts/Factions_jar/Factions.jar and b/classes/artifacts/Factions_jar/Factions.jar differ diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java index 17e5c2ba..e3e0c34a 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java @@ -881,9 +881,16 @@ public class FactionsPlayerListener implements Listener { if (block == null) return; // clicked in air, apparently - if (!CheckPlayerAccess(player, fplayer, loc, faction, faction.getAccess(fplayer, PermissableAction.BUILD), PermissableAction.BUILD, (faction.getAccess(fplayer, PermissableAction.PAIN_BUILD) == Access.ALLOW)) - || !canPlayerUseBlock(player, block, false) - || !playerCanUseItemHere(player, block.getLocation(), event.getMaterial(), false)) { + if (!canPlayerUseBlock(player, block, true) && !playerCanUseItemHere(player, block.getLocation(), event.getMaterial(), true) && !FactionsBlockListener.playerCanBuildDestroyBlock(player, block.getLocation(), "BUILD", true)) { + event.setCancelled(true); + return; + } + if (!canPlayerUseBlock(player, block, false)) { + event.setCancelled(true); + event.setUseInteractedBlock(Event.Result.DENY); + return; + } + if (!playerCanUseItemHere(player, block.getLocation(), event.getMaterial(), false)) { event.setCancelled(true); event.setUseInteractedBlock(Event.Result.DENY); return;