Add BlockStateMeta which allows creating and editting 1.8's blockEntityTag

By: Thinkofdeath <thinkofdeath@spigotmc.org>
This commit is contained in:
Bukkit/Spigot 2015-03-24 15:36:33 +00:00
parent ee31e221ae
commit 7e256ae56a
2 changed files with 46 additions and 0 deletions

View file

@ -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();
}

View file

@ -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);
}