diff options
author | Thinkofdeath <thinkofdeath@spigotmc.org> | 2015-03-24 15:36:33 +0000 |
---|---|---|
committer | Thinkofdeath <thinkofdeath@spigotmc.org> | 2015-03-24 16:03:15 +0000 |
commit | fc9b07810a28a0bdaf5541bf1b7bb2107d90323d (patch) | |
tree | 937440393f55592cd73374c50476e6de19eb77eb | |
parent | 1f0b2e88fe5a69e151ad5a9beb34562c7bd3c468 (diff) | |
download | bukkit-fc9b07810a28a0bdaf5541bf1b7bb2107d90323d.tar bukkit-fc9b07810a28a0bdaf5541bf1b7bb2107d90323d.tar.gz bukkit-fc9b07810a28a0bdaf5541bf1b7bb2107d90323d.tar.lz bukkit-fc9b07810a28a0bdaf5541bf1b7bb2107d90323d.tar.xz bukkit-fc9b07810a28a0bdaf5541bf1b7bb2107d90323d.zip |
Add BlockStateMeta which allows creating and editting 1.8's blockEntityTag
-rw-r--r-- | src/main/java/org/bukkit/block/BlockState.java | 11 | ||||
-rw-r--r-- | src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java | 35 |
2 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java index 96bf1d0d..866a73d9 100644 --- a/src/main/java/org/bukkit/block/BlockState.java +++ b/src/main/java/org/bukkit/block/BlockState.java @@ -192,4 +192,15 @@ public interface BlockState extends Metadatable { */ @Deprecated public void setRawData(byte data); + + /** + * Returns whether this state is placed in the world. + * + * Some methods will not work if the blockState isn't + * placed in the world. + * + * @return whether the state is placed in the world + * or 'virtual' (e.g. on an itemstack) + */ + boolean isPlaced(); } diff --git a/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java b/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java new file mode 100644 index 00000000..4c2a7467 --- /dev/null +++ b/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java @@ -0,0 +1,35 @@ + +package org.bukkit.inventory.meta; + +import org.bukkit.block.BlockState; + +public interface BlockStateMeta extends ItemMeta { + + /** + * Returns whether the item has a block state currently + * attached to it. + * + * @return whether a block state is already attached + */ + boolean hasBlockState(); + + /** + * Returns the currently attached block state for this + * item or creates a new one if one doesn't exist. + * + * The state is a copy, it must be set back (or to another + * item) with {@link #setBlockState(org.bukkit.block.BlockState)} + * + * @return the attached state or a new state + */ + BlockState getBlockState(); + + /** + * Attaches a copy of the passed block state to the item. + * + * @param blockState the block state to attach to the block. + * @throws IllegalArgumentException if the blockState is null + * or invalid for this item. + */ + void setBlockState(BlockState blockState); +} |