From 1e8c91e92f72e23d7b0458601b027f89264eb9df Mon Sep 17 00:00:00 2001 From: Wizjany Date: Fri, 15 Apr 2011 09:17:11 +0800 Subject: [PATCH] Added override for flint and steel blocking. --- .../worldguard/bukkit/WorldGuardBlockListener.java | 4 ++-- .../worldguard/bukkit/WorldGuardPlayerListener.java | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java b/src/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java index dd45d06b..14f51805 100644 --- a/src/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java +++ b/src/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java @@ -262,12 +262,12 @@ public void onBlockIgnite(BlockIgniteEvent event) { event.setCancelled(true); return; } - + /* if (wcfg.blockLighter && cause == IgniteCause.FLINT_AND_STEEL) { event.setCancelled(true); return; } - + */ if (wcfg.fireSpreadDisableToggle && isFireSpread) { event.setCancelled(true); return; diff --git a/src/com/sk89q/worldguard/bukkit/WorldGuardPlayerListener.java b/src/com/sk89q/worldguard/bukkit/WorldGuardPlayerListener.java index 769c5ea1..a4c546ee 100644 --- a/src/com/sk89q/worldguard/bukkit/WorldGuardPlayerListener.java +++ b/src/com/sk89q/worldguard/bukkit/WorldGuardPlayerListener.java @@ -140,7 +140,14 @@ public void handleBlockRightClick(PlayerInteractEvent event) { ConfigurationManager cfg = plugin.getGlobalConfiguration(); WorldConfiguration wcfg = cfg.get(world); - + + if (wcfg.blockLighter && item.getType() == Material.FLINT_AND_STEEL) { + if (!plugin.hasPermission(player, "worldguard.lighter.override")) { + event.setCancelled(true); + return; + } + } + if (wcfg.useRegions) { Vector pt = toVector(block); RegionManager mgr = plugin.getGlobalRegionManager().get(world); @@ -170,7 +177,8 @@ public void handleBlockRightClick(PlayerInteractEvent event) { } if (item.getType() == Material.FLINT_AND_STEEL) { - if (!set.allows(DefaultFlag.LIGHTER)) { + if (!set.allows(DefaultFlag.LIGHTER) + && !plugin.hasPermission(player, "worldguard.lighter.override")) { event.setCancelled(true); return; }