Type of item to create. See the @minecraft/vanilla-data.MinecraftItemTypes enumeration for a list of standard item types in Minecraft experiences.
Optional
amount: numberNumber of items to place in the stack, between 1-255. The provided value will be clamped to the item's maximum stack size. Note that certain items can only have one item in the stack. Defaults to: 1
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.
This property can't be read in early-execution mode.
Readonly
isReturns 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.
This property can't be read in early-execution mode.
This property can't be edited in read-only mode.
This property can't be read in early-execution mode.
Readonly
localizationThis property can't be read in early-execution mode.
This property can't be edited in read-only mode.
This property can't be read in early-execution mode.
Readonly
maxThe 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.
This property can't be read in early-execution mode.
Optional
nameGiven 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.
This property can't be read in early-execution mode.
Readonly
typeThis property can't be read in early-execution mode.
Readonly
typeIdentifier of the type of items for the stack. If a namespace is not specified, 'minecraft:' is assumed. Examples include 'wheat' or 'apple'.
This property can't be read in early-execution mode.
This function can't be called in early-execution mode.
Returns a copy of this item stack.
This function can't be called in early-execution mode.
This function can't be called in read-only mode.
This function can't be called in early-execution mode.
This function can't be called in read-only mode.
This function can't be called in early-execution mode.
The identifier of the component (e.g., 'minecraft:food'). If no namespace prefix is specified, 'minecraft:' is assumed. Available component IDs are those in the ItemComponentTypes enum and custom component IDs registered with the ItemComponentRegistry.
Returns the component if it exists on the item stack, otherwise undefined.
import { world, ItemStack, EntityInventoryComponent, EntityComponentTypes, ItemComponentTypes, ItemDurabilityComponent, DimensionLocation } from "@minecraft/server";
import { MinecraftItemTypes } from "@minecraft/vanilla-data";
function giveHurtDiamondSword(
targetLocation: DimensionLocation
) {
const hurtDiamondSword = new ItemStack(MinecraftItemTypes.DiamondSword);
const durabilityComponent = hurtDiamondSword.getComponent(ItemComponentTypes.Durability) as ItemDurabilityComponent;
if (durabilityComponent !== undefined) {
durabilityComponent.damage = durabilityComponent.maxDurability / 2;
}
for (const player of world.getAllPlayers()) {
const inventory = player.getComponent(EntityComponentTypes.Inventory) as EntityInventoryComponent;
if (inventory && inventory.container) {
inventory.container.addItem(hurtDiamondSword);
}
}
}
This function can't be called in early-execution mode.
import { world } from "@minecraft/server";
const player = world.getPlayers()[0];
const inventory = player.getComponent("inventory");
const slot = inventory.container.getSlot(player.selectedSlotIndex);
let durabilityComp = slot.getItem().getComponent("durability");
player.sendMessage(
"Item Durability: " + (durabilityComp.maxDurability - durabilityComp.damage) + "/" + durabilityComp.maxDurability
);
This function can't be called in early-execution mode.
The property identifier.
Returns the value for the property, or undefined if the property has not been set.
This function can't be called in early-execution mode.
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 entity.
This function can't be called in early-execution mode.
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.
This function can't be called in early-execution mode.
An array of lore lines. If the item does not have lore, returns an empty array.
This function can't be called in early-execution mode.
An array of lore lines. If the item does not have lore, returns an empty array.
Returns the lore value - a secondary display string - for an ItemStack. String lore lines will be converted to a RawMessage and put under RawMessage.text.
This function can't be called in early-execution mode.
This function can't be called in early-execution mode.
The identifier of the component (e.g., 'minecraft:food') to retrieve. If no namespace prefix is specified, 'minecraft:' is assumed.
This function can't be called in early-execution mode.
Tag to search for.
True if the Item Stack has the tag associated with it, else false.
This function can't be called in early-execution mode.
ItemStack to check stacking compatibility with.
True if the Item Stack is stackable with the itemStack passed in. False for non-stackable items.
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, but for non-stackable items this will always
return false.
This function can't be called in early-execution mode.
Identifier of the item.
Optional
states: Record<string, string | number | boolean>Applicable only for blocks. An optional set of states to compare against. If states is not specified, matches checks against the set of types more broadly.
Returns a boolean whether the specified item matches.
This function can't be called in early-execution mode.
Optional
blockIdentifiers: string[]String list of block types that the item can destroy.
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.
import { world, ItemStack, EntityInventoryComponent, DimensionLocation } from "@minecraft/server";
import { MinecraftItemTypes } from "@minecraft/vanilla-data";
function giveDestroyRestrictedPickaxe(
targetLocation: DimensionLocation
) {
for (const player of world.getAllPlayers()) {
const specialPickaxe = new ItemStack(MinecraftItemTypes.DiamondPickaxe);
specialPickaxe.setCanDestroy([MinecraftItemTypes.Cobblestone, MinecraftItemTypes.Obsidian]);
const inventory = player.getComponent("inventory") as EntityInventoryComponent;
if (inventory === undefined || inventory.container === undefined) {
return;
}
inventory.container.addItem(specialPickaxe);
}
}
This function can't be called in early-execution mode.
Optional
blockIdentifiers: string[]String list of block types that the item can be placed on.
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.
import { world, ItemStack, EntityInventoryComponent, EntityComponentTypes, DimensionLocation } from "@minecraft/server";
import { MinecraftItemTypes } from "@minecraft/vanilla-data";
function givePlaceRestrictedGoldBlock(
targetLocation: DimensionLocation
) {
for (const player of world.getAllPlayers()) {
const specialGoldBlock = new ItemStack(MinecraftItemTypes.GoldBlock);
specialGoldBlock.setCanPlaceOn([MinecraftItemTypes.GrassBlock, MinecraftItemTypes.Dirt]);
const inventory = player.getComponent(EntityComponentTypes.Inventory) as EntityInventoryComponent;
if (inventory === undefined || inventory.container === undefined) {
return;
}
inventory.container.addItem(specialGoldBlock);
}
}
This function can't be called in early-execution mode.
The property identifier.
Optional
value: string | number | boolean | Vector3Data value of the property to set.
Sets a specified property to a value. Note: This function only works with non-stackable items.
Throws if the item stack is stackable.
minecraftcommon.ArgumentOutOfBoundsError
minecraftcommon.UnsupportedFunctionalityError
This function can't be called in early-execution mode.
Optional
loreList: (string | RawMessage)[]List of lore lines. Each element in the list represents a new line. The maximum lore line count is 20. The maximum lore line length is 50 characters.
Sets the lore value - a secondary display string - for an ItemStack. The lore list is cleared if set to an empty string or undefined.
This function can't be called in read-only mode.
import { EntityComponentTypes, ItemStack, Player } from '@minecraft/server';
import { MinecraftItemTypes } from '@minecraft/vanilla-data';
function giveAwesomeSword(player: Player) {
const diamondAwesomeSword = new ItemStack(MinecraftItemTypes.DiamondSword, 1);
diamondAwesomeSword.setLore([
'§c§lDiamond Sword of Awesome§r',
'+10 coolness', '§p+4 shiny§r'
]);
// hover over/select the item in your inventory to see the lore.
const inventory = player.getComponent(EntityComponentTypes.Inventory);
if (inventory === undefined || inventory.container === undefined) {
return;
}
inventory.container.setItem(0, diamondAwesomeSword);
}
This function can't be called in early-execution mode.
Defines a collection of items.
Example: itemStacks.ts
Example: givePlayerEquipment.ts
Example: spawnFeatherItem.ts