ItemMeta

interface ItemMeta

Holder for various item metadata values for an item stack.

Inheritors

Types

Link copied to clipboard

A builder for building item metadata.

Link copied to clipboard
object Companion
Link copied to clipboard
@ApiStatus.Internal
interface Factory

Functions

Link copied to clipboard
abstract fun hasFlag(flag: ItemFlag): Boolean

Checks whether the item has the given item flag.

Link copied to clipboard
@Contract(value = "_, _, _ -> new", pure = true)
abstract fun withAttributeModifier(modifier: ItemAttributeModifier): ItemMeta

Creates new item metadata with the given modifier added to the list of modifiers for this item.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withAttributeModifiers(modifiers: Collection<ItemAttributeModifier>): ItemMeta

Creates new item metadata with the given attribute modifiers.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withCanDestroy(blocks: Collection<Block>): ItemMeta

Creates new item metadata with the given can destroy blocks.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withCanPlaceOn(blocks: Collection<Block>): ItemMeta

Creates new item metadata with the given can destroy blocks.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withCustomModelData(data: Int): ItemMeta

Creates new item metadata with the given custom model data.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withDamage(damage: Int): ItemMeta

Creates new item metadata with the given damage.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withHideFlag(flag: ItemFlag): ItemMeta

Creates new item metadata with the given hide flag set.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withHideFlags(flags: Int): ItemMeta

Creates new item metadata with the given hide flags.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withLore(lore: List<Component>): ItemMeta

Creates new item metadata with the given lore.

@Contract(value = "_ -> new", pure = true)
abstract fun withLore(lore: Component): ItemMeta

Creates new item metadata with the given lore line added to the bottom of the lore text.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withName(name: Component?): ItemMeta

Creates new item metadata with the given name.

Link copied to clipboard
@Contract(value = "_, _, _ -> new", pure = true)
abstract fun withoutAttributeModifier(modifier: ItemAttributeModifier): ItemMeta

Creates new item metadata with the given modifier removed from the list of modifiers for this item.

Link copied to clipboard
@Contract(value = "-> new", pure = true)
abstract fun withoutAttributeModifiers(): ItemMeta

Creates new item metadata without any modifiers.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withoutHideFlag(flag: ItemFlag): ItemMeta

Creates new item metadata without the given hide flag set.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withoutLore(index: Int): ItemMeta

Creates new item metadata with the lore line at the given index removed from the lore.

@Contract(value = "_ -> new", pure = true)
abstract fun withoutLore(lore: Component): ItemMeta

Creates new item metadata with the given lore line removed from the lore.

Link copied to clipboard
@Contract(value = "_ -> new", pure = true)
abstract fun withUnbreakable(unbreakable: Boolean): ItemMeta

Creates new item metadata with the given unbreakable setting.

Properties

Link copied to clipboard
@get:JvmName(name = "attributeModifiers")
abstract val attributeModifiers: @Unmodifiable List<ItemAttributeModifier>

All of the attribute modifiers that will be applied to entities holding items with this metadata.

Link copied to clipboard
@get:JvmName(name = "canDestroy")
abstract val canDestroy: @Unmodifiable Set<Block>

All of the blocks that the item can destroy.

Link copied to clipboard
@get:JvmName(name = "canPlaceOn")
abstract val canPlaceOn: @Unmodifiable Set<Block>

All of the blocks that the item can be placed on.

Link copied to clipboard
@get:JvmName(name = "customModelData")
abstract val customModelData: Int

The custom model data for the item.

Link copied to clipboard
@get:JvmName(name = "damage")
abstract val damage: Int

The current damage on the item.

Link copied to clipboard
@get:JvmName(name = "hideFlags")
abstract val hideFlags: Int

The flags that determine what is hidden for the item.

Link copied to clipboard
abstract val isUnbreakable: Boolean

If the item cannot be broken.

Link copied to clipboard
@get:JvmName(name = "lore")
abstract val lore: @Unmodifiable List<Component>

The lore of the item.

Link copied to clipboard
@get:JvmName(name = "name")
abstract val name: Component?

The display name of the item.