From f46751aecdd81fca05a2d556a57ec3a6d0d08a55 Mon Sep 17 00:00:00 2001 From: Mahagon Date: Sun, 15 Feb 2015 17:44:49 +0100 Subject: [PATCH] Also log the deletion of fire by a player --- .../LogBlock/listeners/BlockBurnLogging.java | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/diddiz/LogBlock/listeners/BlockBurnLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/BlockBurnLogging.java index 471eac4..138faa6 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/BlockBurnLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/BlockBurnLogging.java @@ -1,14 +1,20 @@ package de.diddiz.LogBlock.listeners; +import static de.diddiz.LogBlock.config.Config.isLogging; +import static de.diddiz.util.LoggingUtil.smartLogBlockBreak; +import static de.diddiz.util.LoggingUtil.smartLogFallables; + +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.block.BlockBurnEvent; +import org.bukkit.event.player.PlayerInteractEvent; + import de.diddiz.LogBlock.Actor; import de.diddiz.LogBlock.LogBlock; import de.diddiz.LogBlock.Logging; -import static de.diddiz.LogBlock.config.Config.isLogging; -import static de.diddiz.util.LoggingUtil.smartLogBlockBreak; -import static de.diddiz.util.LoggingUtil.smartLogFallables; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.block.BlockBurnEvent; public class BlockBurnLogging extends LoggingListener { @@ -23,4 +29,16 @@ public class BlockBurnLogging extends LoggingListener smartLogFallables(consumer, new Actor("Fire"), event.getBlock()); } } + + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onExtinguish(PlayerInteractEvent event) { + Player player = event.getPlayer(); + Block block = player.getTargetBlock(null, 5); + if (block.getType().equals(Material.FIRE) && isLogging(player.getWorld(), Logging.FIRE)) { + Actor actor = Actor.actorFromEntity(player); + smartLogBlockBreak(consumer, actor, block); + smartLogFallables(consumer, actor, block); + } + } }