Package org.bukkit.inventory.meta
Interface BlockStateMeta
- All Superinterfaces:
Cloneable
,ConfigurationSerializable
,ItemMeta
,PersistentDataHolder
,PersistentDataViewHolder
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Clears the block state currently attached to this item.Returns the currently attached block state for this item or creates a new one if one doesn't exist.boolean
Returns whether the item has a block state currently attached to it.void
setBlockState
(@NotNull BlockState blockState) Attaches a copy of the passed block state 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, customName, customName, displayName, displayName, getAsComponentString, getAsString, getAttributeModifiers, getAttributeModifiers, getAttributeModifiers, getCanDestroy, getCanPlaceOn, getCustomModelData, getCustomModelDataComponent, getCustomTagContainer, getDamageResistant, getDestroyableKeys, getDisplayName, getDisplayNameComponent, getEnchantable, getEnchantLevel, getEnchantmentGlintOverride, getEnchants, getEquippable, getFood, getItemFlags, getItemModel, getItemName, getJukeboxPlayable, getLocalizedName, getLore, getLoreComponents, getMaxStackSize, getPlaceableKeys, getRarity, getTool, getTooltipStyle, getUseCooldown, getUseRemainder, hasAttributeModifiers, hasConflictingEnchant, hasCustomModelData, hasCustomName, hasDamageResistant, hasDestroyableKeys, hasDisplayName, hasEnchant, hasEnchantable, hasEnchantmentGlintOverride, hasEnchants, hasEquippable, hasFood, hasItemFlag, hasItemModel, hasItemName, hasJukeboxPlayable, hasLocalizedName, hasLore, hasMaxStackSize, hasPlaceableKeys, hasRarity, hasTool, hasTooltipStyle, hasUseCooldown, hasUseRemainder, isFireResistant, isGlider, isHideTooltip, isUnbreakable, itemName, itemName, lore, lore, removeAttributeModifier, removeAttributeModifier, removeAttributeModifier, removeEnchant, removeEnchantments, removeItemFlags, setAttributeModifiers, setCanDestroy, setCanPlaceOn, setCustomModelData, setCustomModelDataComponent, setDamageResistant, setDestroyableKeys, setDisplayName, setDisplayNameComponent, setEnchantable, setEnchantmentGlintOverride, setEquippable, setFireResistant, setFood, setGlider, setHideTooltip, setItemModel, setItemName, setJukeboxPlayable, setLocalizedName, setLore, setLoreComponents, setMaxStackSize, setPlaceableKeys, setRarity, setTool, setTooltipStyle, setUnbreakable, setUseCooldown, setUseRemainder, setVersion
Methods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainer
-
Method Details
-
hasBlockState
boolean hasBlockState()Returns whether the item has a block state currently attached to it.- Returns:
- whether a block state is already attached
-
clearBlockState
void clearBlockState()Clears the block state currently attached to this item. -
getBlockState
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) withsetBlockState(org.bukkit.block.BlockState)
- Returns:
- the attached state or a new state
-
setBlockState
Attaches a copy of the passed block state to the item.- Parameters:
blockState
- the block state to attach to the block.- Throws:
IllegalArgumentException
- if the blockState is null or invalid for this item.- API Note:
- As of 1.20.5 the block state carries a copy of the item's data deviations. As such, setting the block state via this method will reset secondary deviations of the item meta. This can manifest in the addition to an existing lore failing or a change of a previously added display name. It is hence recommended to first mutate the block state, set it back, and then mutate the item meta.
-