From b2efe281229378967d9c0633b82f0303b7b621f4 Mon Sep 17 00:00:00 2001 From: Taylor Kelly Date: Wed, 26 Jan 2011 16:13:04 -0500 Subject: BlockBurnEvent --- src/main/java/org/bukkit/event/Event.java | 7 +++++ .../org/bukkit/event/block/BlockBurnEvent.java | 31 ++++++++++++++++++++++ .../java/org/bukkit/event/block/BlockListener.java | 8 ++++++ .../org/bukkit/plugin/java/JavaPluginLoader.java | 3 +++ 4 files changed, 49 insertions(+) create mode 100644 src/main/java/org/bukkit/event/block/BlockBurnEvent.java (limited to 'src') diff --git a/src/main/java/org/bukkit/event/Event.java b/src/main/java/org/bukkit/event/Event.java index 1fb0966f..ac998d39 100644 --- a/src/main/java/org/bukkit/event/Event.java +++ b/src/main/java/org/bukkit/event/Event.java @@ -275,6 +275,13 @@ public abstract class Event { */ BLOCK_INTERACT (Category.BLOCK), + /** + * Called when a block is destroyed from being burnt by fire + * + * @see org.bukkit.event.block.BlockBurnEvent + */ + BLOCK_BURN (Category.BLOCK), + /** * Called when leaves are decaying naturally * diff --git a/src/main/java/org/bukkit/event/block/BlockBurnEvent.java b/src/main/java/org/bukkit/event/block/BlockBurnEvent.java new file mode 100644 index 00000000..ba8b64ff --- /dev/null +++ b/src/main/java/org/bukkit/event/block/BlockBurnEvent.java @@ -0,0 +1,31 @@ + + +package org.bukkit.event.block; + +import org.bukkit.block.Block; +import org.bukkit.event.Cancellable; + +/** + * Called when a block is destroyed because of being burnt by fire + * @author tkelly + */ +public class BlockBurnEvent extends BlockEvent implements Cancellable { + private boolean cancelled; + + public BlockBurnEvent(Block block) { + super(Type.BLOCK_BURN, block); + this.cancelled = false; + } + + public boolean isCancelled() { + return cancelled; + } + + /** + * Allow for the block to be stopped from being destroyed + * @param cancel + */ + public void setCancelled(boolean cancel) { + this.cancelled = cancel; + } +} diff --git a/src/main/java/org/bukkit/event/block/BlockListener.java b/src/main/java/org/bukkit/event/block/BlockListener.java index e2c44f8f..5d70acf4 100644 --- a/src/main/java/org/bukkit/event/block/BlockListener.java +++ b/src/main/java/org/bukkit/event/block/BlockListener.java @@ -94,4 +94,12 @@ public class BlockListener implements Listener { public void onLeavesDecay(LeavesDecayEvent event) { } + /** + * Called when a block is destroyed from burning + * + * @param event Relevant event details + */ + public void onBlockBurn(BlockBurnEvent event) { + } + } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java index 34e66cf7..f0844258 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -191,6 +191,9 @@ public final class JavaPluginLoader implements PluginLoader { case REDSTONE_CHANGE: trueListener.onBlockRedstoneChange((BlockFromToEvent)event); break; + case BLOCK_BURN: + trueListener.onBlockBurn((BlockBurnEvent)event); + break; } } else if(listener instanceof ServerListener) { ServerListener trueListener = (ServerListener)listener; -- cgit v1.2.3