From 6f6c4d7ce06a7e2cf0e28a608704daccef5d88c4 Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Thu, 30 Dec 2010 21:59:53 +0000 Subject: [PATCH] Added the single most important event ever to be conceived --- src/org/bukkit/event/block/BlockEvent.java | 13 +++++ src/org/bukkit/event/block/BlockListener.java | 15 ++++++ .../bukkit/event/block/BlockPhysicsEvent.java | 47 +++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 src/org/bukkit/event/block/BlockEvent.java create mode 100644 src/org/bukkit/event/block/BlockListener.java create mode 100644 src/org/bukkit/event/block/BlockPhysicsEvent.java diff --git a/src/org/bukkit/event/block/BlockEvent.java b/src/org/bukkit/event/block/BlockEvent.java new file mode 100644 index 00000000..32ce6f78 --- /dev/null +++ b/src/org/bukkit/event/block/BlockEvent.java @@ -0,0 +1,13 @@ + +package org.bukkit.event.block; + +import org.bukkit.event.Event; + +/** + * Represents a block related event + */ +public class BlockEvent extends Event { + public BlockEvent(final Event.Type type) { + super(type); + } +} diff --git a/src/org/bukkit/event/block/BlockListener.java b/src/org/bukkit/event/block/BlockListener.java new file mode 100644 index 00000000..bb503bca --- /dev/null +++ b/src/org/bukkit/event/block/BlockListener.java @@ -0,0 +1,15 @@ + +package org.bukkit.event.block; + +import org.bukkit.event.Listener; + +/** + * Handles all events thrown in relation to Blocks + */ +public class BlockListener implements Listener { + public BlockListener() { + } + + public void onPhysics(BlockPhysicsEvent event) { + } +} diff --git a/src/org/bukkit/event/block/BlockPhysicsEvent.java b/src/org/bukkit/event/block/BlockPhysicsEvent.java new file mode 100644 index 00000000..845491f2 --- /dev/null +++ b/src/org/bukkit/event/block/BlockPhysicsEvent.java @@ -0,0 +1,47 @@ + +package org.bukkit.event.block; + +import org.bukkit.Block; +import org.bukkit.ItemStack; +import org.bukkit.event.Event; + +/** + * Thrown when a block physics check is called + */ +public class BlockPhysicsEvent extends BlockEvent { + private final Block block; + private final int changed; + + public BlockPhysicsEvent(final Event.Type type, final Block block, final int changed) { + super(type); + this.block = block; + this.changed = changed; + } + + /** + * Gets the block currently undergoing a physics check + * + * @return Block to check physics on + */ + public Block getBlock() { + return block; + } + + /** + * Gets the type of block that changed, causing this event + * + * @return Changed block's type ID + */ + public int getChangedTypeID() { + return changed; + } + + /** + * Gets the type of block that changed, causing this event + * + * @return Changed block's type + */ + public ItemStack.Type getChangedType() { + return ItemStack.Type.getType(changed); // TODO: Move type to its own file + } +}