Package org.bukkit.inventory.meta

# Interface BlockDataMeta

All Superinterfaces:
  `Cloneable`, `ConfigurationSerializable`, `ItemMeta`, `PersistentDataHolder`

public interface BlockDataMeta extends ItemMeta

## Method Summary

Modifier and Type
Method
Description
`@NotNull BlockData`
`getBlockData(@NotNull Material material)`
Returns the currently attached block data for this item or creates a new one if one doesn't exist.
`boolean`
`hasBlockData()`
Returns whether the item has block data currently attached to it.
`void`
`setBlockData(@NotNull BlockData blockData)`
Attaches a copy of the passed block data to the item.

### Methods inherited from interface org.bukkit.configuration.serialization.ConfigurationSerializable

`serialize`

### Methods inherited from interface org.bukkit.inventory.meta.ItemMeta

`addAttributeModifier, addEnchant, addItemFlags, clone, displayName, displayName, getAttributeModifiers, getAttributeModifiers, getAttributeModifiers, getCanDestroy, getCanPlaceOn, getCustomModelData, getCustomTagContainer, getDestroyableKeys, getDisplayName, getDisplayNameComponent, getEnchantLevel, getEnchants, getItemFlags, getLocalizedName, getLore, getLoreComponents, getPlaceableKeys, hasAttributeModifiers, hasConflictingEnchant, hasCustomModelData, hasDestroyableKeys, hasDisplayName, hasEnchant, hasEnchants, hasItemFlag, hasLocalizedName, hasLore, hasPlaceableKeys, isUnbreakable, lore, lore, removeAttributeModifier, removeAttributeModifier, removeAttributeModifier, removeEnchant, removeItemFlags, setAttributeModifiers, setCanDestroy, setCanPlaceOn, setCustomModelData, setDestroyableKeys, setDisplayName, setDisplayNameComponent, setLocalizedName, setLore, setLoreComponents, setPlaceableKeys, setUnbreakable, setVersion`

### Methods inherited from interface org.bukkit.persistence.PersistentDataHolder

`getPersistentDataContainer`

## Method Details

### hasBlockData

boolean hasBlockData()
Returns whether the item has block data currently attached to it.

Returns:
  whether block data is already attached

### getBlockData

@NotNull @NotNull BlockData getBlockData(@NotNull @NotNull Material material)
Returns the currently attached block data 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 `setBlockData(org.bukkit.block.data.BlockData)`

Parameters:
  `material` - the material we wish to get this data in the context of
Returns:
  the attached data or new data

### setBlockData

void setBlockData(@NotNull @NotNull BlockData blockData)
Attaches a copy of the passed block data to the item.

Parameters:
  `blockData` - the block data to attach to the block.
Throws:
  `IllegalArgumentException` - if the blockData is null or invalid for this item.