From f3ec873ac24adc2676ec882cdd04cd58931cd289 Mon Sep 17 00:00:00 2001 From: Wizjany Date: Mon, 16 May 2011 16:27:17 -0400 Subject: [PATCH] Fixed some derpy fire handling. --- .../bukkit/WorldGuardBlockListener.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java index 6f0dcf66..f9aaa6a4 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java @@ -293,7 +293,7 @@ public void onBlockIgnite(BlockIgniteEvent event) { return; } } - + if (wcfg.useRegions) { Vector pt = toVector(block); Player player = event.getPlayer(); @@ -316,7 +316,8 @@ public void onBlockIgnite(BlockIgniteEvent event) { } } - if (wcfg.highFreqFlags && isFireSpread && set.allows(DefaultFlag.FIRE_SPREAD)) { + if (wcfg.highFreqFlags && isFireSpread + && !set.allows(DefaultFlag.FIRE_SPREAD)) { event.setCancelled(true); return; } @@ -363,6 +364,19 @@ public void onBlockBurn(BlockBurnEvent event) { return; } } + + if (wcfg.useRegions) { + Block block = event.getBlock(); + Vector pt = toVector(block); + RegionManager mgr = plugin.getGlobalRegionManager().get(block.getWorld()); + ApplicableRegionSet set = mgr.getApplicableRegions(pt); + + if (!set.allows(DefaultFlag.FIRE_SPREAD)) { + event.setCancelled(true); + return; + } + + } } /**