Represents a slot within a broader container (e.g., entity inventory.)

import { world, EquipmentSlot } from "@minecraft/server";

const player = world.getPlayers()[0];
const equippable = player.getComponent("equippable");
const slot = equippable.getEquipmentSlot(EquipmentSlot.Mainhand);
import { world } from "@minecraft/server";

const player = world.getPlayers()[0];
const inventory = player.getComponent("inventory");
const slot = inventory.container.getSlot(player.selectedSlotIndex);

Properties

amount: number

Number of the items in the stack. Valid values range between 1-255. The provided value will be clamped to the item's maximum stack size.

This property can't be edited in read-only mode.

Throws if the value is outside the range of 1-255.

isStackable: boolean

Returns whether the item is stackable. An item is considered stackable if the item's maximum stack size is greater than 1 and the item does not contain any custom data or properties.

Throws if the slot's container is invalid.

InvalidContainerSlotError

keepOnDeath: boolean

Gets or sets whether the item is kept on death.

This property can't be edited in read-only mode.

Throws if the slot's container is invalid.

lockMode: ItemLockMode

Gets or sets the item's lock mode. The default value is ItemLockMode.none.

This property can't be edited in read-only mode.

Throws if the slot's container is invalid.

maxAmount: number

The maximum stack size. This value varies depending on the type of item. For example, torches have a maximum stack size of 64, while eggs have a maximum stack size of 16.

Throws if the slot's container is invalid.

InvalidContainerSlotError

nameTag?: string

Given name of this stack of items. The name tag is displayed when hovering over the item. Setting the name tag to an empty string or undefined will remove the name tag.

This property can't be edited in read-only mode.

Throws if the slot's container is invalid. Also throws if the length exceeds 255 characters.

type: ItemType

The type of the item.

Throws if the slot's container is invalid.

minecraftcommon.EngineError

InvalidContainerSlotError

typeId: string

Identifier of the type of items for the stack. If a namespace is not specified, 'minecraft:' is assumed. Examples include 'wheat' or 'apple'.

Throws if the slot's container is invalid.

InvalidContainerSlotError

Methods

  • Returns void

    Clears all dynamic properties that have been set on this item stack.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns string[]

    Returns whether the item within this container slot can be destroyed.

    This function can throw errors.

    InvalidContainerSlotError

  • Returns string[]

    Returns if the item in this container slot can be placed on.

    This function can throw errors.

    InvalidContainerSlotError

  • Parameters

    • identifier: string

      The property identifier.

    Returns string | number | boolean | Vector3

    Returns the value for the property, or undefined if the property has not been set.

    Returns a property value.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns string[]

    A string array of the dynamic properties set on this entity.

    Returns the available set of dynamic property identifiers that have been used on this item stack.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns number

    Returns the total size, in bytes, of all the dynamic properties that are currently stored for this entity. This includes the size of both the key and the value. This can be useful for diagnosing performance warning signs - if, for example, an entity has many megabytes of associated dynamic properties, it may be slow to load on various devices.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns ItemStack

    Returns a copy of the item in the slot. Returns undefined if the slot is empty.

    Creates an exact copy of the item stack, including any custom data or properties.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns string[]

    An array of lore strings. If the item does not have lore, returns an empty array.

    Returns the lore value - a secondary display string - for an ItemStack.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns string[]

    Returns all tags for the item in the slot. Return an empty array if the the slot is empty.

    Returns all tags for the item in the slot.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns boolean

    Returns true if this slot has an item.

    This function can throw errors.

    InvalidContainerSlotError

  • Parameters

    • tag: string

      The item tag.

    Returns boolean

    Returns false when the slot is empty or the item in the slot does not have the given tag.

    Returns whether the item in the slot slot has the given tag.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Parameters

    • itemStack: ItemStack

      The ItemStack that is being compared.

    Returns boolean

    Returns whether this item stack can be stacked with the given itemStack.

    Returns whether this item stack can be stacked with the given itemStack. This is determined by comparing the item type and any custom data and properties associated with the item stacks. The amount of each item stack is not taken into consideration.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Returns boolean

    Returns whether the ContainerSlot is valid. The container slot is valid if the container exists and is loaded, and the slot index is valid.

  • Parameters

    • OptionalblockIdentifiers: string[]

      The list of blocks, given by their identifiers.

    Returns void

    The list of block types this item can break in Adventure mode. The block names are displayed in the item's tooltip. Setting the value to undefined will clear the list.

    This function can't be called in read-only mode.

    Throws if the slot's container is invalid. Also throws if any of the provided block identifiers are invalid.

    Error

    InvalidContainerSlotError

  • Parameters

    • OptionalblockIdentifiers: string[]

      The list of blocks, given by their identifiers.

    Returns void

    The list of block types this item can be placed on in Adventure mode. This is only applicable to block items. The block names are displayed in the item's tooltip. Setting the value to undefined will clear the list.

    This function can't be called in read-only mode.

    Throws if the slot's container is invalid. Also throws if any of the provided block identifiers are invalid.

    Error

    InvalidContainerSlotError

  • Parameters

    • identifier: string

      The property identifier.

    • Optionalvalue: string | number | boolean | Vector3

      Data value of the property to set.

    Returns void

    Sets a specified property to a value.

    Throws if the slot's container is invalid.

    Error

    InvalidContainerSlotError

  • Parameters

    • OptionalitemStack: ItemStack

      The ItemStack to be placed in the slot.

    Returns void

    Sets the given ItemStack in the slot, replacing any existing item.

    This function can't be called in read-only mode.

    Throws if the slot's container is invalid.

    InvalidContainerSlotError

  • Parameters

    • OptionalloreList: string[]

      A list of lore strings. Setting this argument to undefined will clear the lore.

    Returns void

    Sets the lore value - a secondary display string - for an ItemStack.

    This function can't be called in read-only mode.

    Throws if the slot's container is invalid.

    Error

    InvalidContainerSlotError