Class ItemStack
- All Implemented Interfaces:
ComponentHolder
Item
. Instances can be created using one of
the constructors and are usually stored in an Inventory
.
Item stacks should never be compared using ==
operator or equals
method. This also means they cannot be used as a map key. To check if an item stack
is of a certain item, use isOf(Item)
. To compare two item stacks, use areItemsEqual(net.minecraft.item.ItemStack, net.minecraft.item.ItemStack)
to check the item only, or areEqual(net.minecraft.item.ItemStack, net.minecraft.item.ItemStack)
to also check the item
count and the components. Use isEmpty()
to check if an item stack is empty instead
of doing stack == ItemStack.EMPTY
.
When storing an item stack in an inventory or other places, make sure that an instance is never stored in multiple places. When two inventories hold the same instance, it will duplicate the item stack (and become two instances) when one is saved and reloaded.
Components
Components can be used to store data specific to the item stack.
Use ComponentHolder.get(net.minecraft.component.DataComponentType<? extends T>)
or ComponentHolder.getOrDefault(net.minecraft.component.DataComponentType<? extends T>, T)
to
get the component values. Use set(net.minecraft.component.DataComponentType<? super T>, T)
or remove(net.minecraft.component.DataComponentType<? extends T>)
to set the components.
NBT serialization
An Item Stack can be serialized with encode(RegistryWrapper.WrapperLookup)
, and deserialized with fromNbt(RegistryWrapper.WrapperLookup, NbtCompound)
.
Key | Type | Purpose |
---|---|---|
id | NbtString | The identifier of the item. |
count | NbtInt | The count of items in the stack. |
components | ComponentChanges | The item stack's components. |
- Mappings:
Namespace Name named net/minecraft/item/ItemStack
intermediary net/minecraft/class_1799
official cuq
-
Field Summary
Modifier and TypeFieldDescriptionprivate int
static final com.mojang.serialization.Codec
<ItemStack> (package private) final ComponentMapImpl
private int
private static final Text
static final ItemStack
The empty item stack that holds no item.Deprecated.static final com.mojang.serialization.Codec
<RegistryEntry<Item>> static final PacketCodec
<RegistryByteBuf, List<ItemStack>> private static final Logger
static final com.mojang.serialization.Codec
<ItemStack> static final PacketCodec
<RegistryByteBuf, List<ItemStack>> static final PacketCodec
<RegistryByteBuf, ItemStack> static final PacketCodec
<RegistryByteBuf, ItemStack> static final com.mojang.serialization.Codec
<ItemStack> static final com.mojang.serialization.Codec
<ItemStack> static final com.mojang.serialization.Codec
<ItemStack> static final com.mojang.serialization.Codec
<ItemStack> -
Constructor Summary
ModifierConstructorDescriptionprivate
ItemStack
(ItemConvertible item) ItemStack
(ItemConvertible item, int count) private
ItemStack
(ItemConvertible item, int count, ComponentMapImpl components) ItemStack
(RegistryEntry<Item> entry) ItemStack
(RegistryEntry<Item> itemEntry, int count) ItemStack
(RegistryEntry<Item> item, int count, ComponentChanges changes) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addEnchantment
(Enchantment enchantment, int level) Enchants this item with the given enchantment and level.private void
appendAttributeModifiersTooltip
(Consumer<Text> textConsumer, @Nullable PlayerEntity player) private void
appendAttributeModifierTooltip
(Consumer<Text> textConsumer, @Nullable PlayerEntity player, RegistryEntry<EntityAttribute> attribute, EntityAttributeModifier modifier) private <T extends TooltipAppender>
voidappendTooltip
(DataComponentType<T> componentType, Item.TooltipContext context, Consumer<Text> textConsumer, TooltipType type) <T> T
apply
(DataComponentType<T> type, T defaultValue, UnaryOperator<T> applier) Sets the componenttype
by passing the current value (ordefaultValue
if the component is missing) toapplier
and then setting its return value as the value.<T,
U> T apply
(DataComponentType<T> type, T defaultValue, U change, BiFunction<T, U, T> applier) Sets the componenttype
by passing the current value andchange
toapplier
, then setting its return value as the value.void
applyAttributeModifiers
(EquipmentSlot slot, BiConsumer<RegistryEntry<EntityAttribute>, EntityAttributeModifier> attributeModifierConsumer) void
applyChanges
(ComponentChanges changes) void
applyComponentsFrom
(ComponentMap components) void
applyUnvalidatedChanges
(ComponentChanges changes) static boolean
Returns whether the given item stacks are equal, including the item count and components.static boolean
areItemsAndComponentsEqual
(ItemStack stack, ItemStack otherStack) Returns whether the given item stacks' items and components are equal.static boolean
areItemsEqual
(ItemStack left, ItemStack right) Returns whether the given item stacks contain the same item, regardless of item count or components.boolean
boolean
void
capCount
(int maxCount) Sets the count of items in this item stack to not exceedmaxCount
.copy()
Returns a copy of this item stack, including the item count, components, and bobbing animation time.copyComponentsToNewStack
(ItemConvertible item, int count) Returns a new item stack with the components copied from this item stack.copyComponentsToNewStackIgnoreEmpty
(ItemConvertible item, int count) Returns a new item stack with the components copied from this item stack, even if this stack is empty.copyWithCount
(int count) Returns a copy of this item stack, including the components, and bobbing animation time.static PacketCodec
<RegistryByteBuf, ItemStack> createExtraValidatingPacketCodec
(PacketCodec<RegistryByteBuf, ItemStack> basePacketCodec) Returns a packet codec that ensures the validity of the decoded stack by checking if it can be re-encoded.static com.mojang.serialization.MapCodec
<ItemStack> createOptionalCodec
(String fieldName) void
damage
(int amount, LivingEntity entity, EquipmentSlot slot) Damages this item stack.void
damage
(int amount, Random random, @Nullable ServerPlayerEntity player, Runnable breakCallback) Damages this item stack.void
decrement
(int amount) Decrements the count of items in this item stack.void
decrementUnlessCreative
(int amount, @Nullable LivingEntity entity) Decrements the count of items in this item stack, unlessentity
is a creative mode player.encode
(RegistryWrapper.WrapperLookup registries) encode
(RegistryWrapper.WrapperLookup registries, NbtElement prefix) encodeAllowEmpty
(RegistryWrapper.WrapperLookup registries) finishUsing
(World world, LivingEntity user) fromNbt
(RegistryWrapper.WrapperLookup registries, NbtElement nbt) static ItemStack
fromNbtOrEmpty
(RegistryWrapper.WrapperLookup registries, NbtCompound nbt) int
int
getCount()
Returns the count of items in this item stack.int
Returns the damage (lost durability) of the item stack.getFrame()
Returns the item frame that holds the stack, ornull
if inapplicable.Returns the entity that holds the stack, ornull
if inapplicable.getItem()
Returns the item of this stack.int
Returns the color of the filled section of the durability bar.int
Returns the length of the filled section of the durability bar in pixels (out of 13).int
int
int
float
getName()
Returns the custom name of the stack if it exists, or the item's name.getTooltip
(Item.TooltipContext context, @Nullable PlayerEntity player, TooltipType type) boolean
Returns whether the item stack has any enchantments.boolean
hasGlint()
static int
void
increment
(int amount) Increments the count of items in this item stack.void
inventoryTick
(World world, Entity entity, int slot, boolean selected) boolean
Returns whether the item can be damaged (lose durability).boolean
Returns whether the item stack is damageable and has damage.boolean
isEmpty()
Returns whether this item stack is empty.boolean
Returns whether this item stack can be enchanted with an enchanting table.boolean
isIn
(RegistryEntryList<Item> registryEntryList) boolean
Returns whether the item is intag
.boolean
Returns whether the item stack is in an item frame.boolean
boolean
isItemEnabled
(FeatureSet enabledFeatures) boolean
Returns whether the item isitem
.boolean
Returns whether the item stack can have item count above1
.boolean
isSuitableFor
(BlockState state) Determines whether this item can be used as a suitable tool for mining the specified block.boolean
boolean
itemMatches
(Predicate<RegistryEntry<Item>> predicate) Returns whether the item's registry entry passes thepredicate
.boolean
itemMatches
(RegistryEntry<Item> itemEntry) Returns whether the item's registry entry matchesitemEntry
.static int
listHashCode
(List<ItemStack> stacks) Deprecated.boolean
onClicked
(ItemStack stack, Slot slot, ClickType clickType, PlayerEntity player, StackReference cursorStackReference) void
onCraftByCrafter
(World world) void
onCraftByPlayer
(World world, PlayerEntity player, int amount) void
onItemEntityDestroyed
(ItemEntity entity) boolean
onStackClicked
(Slot slot, ClickType clickType, PlayerEntity player) void
onStoppedUsing
(World world, LivingEntity user, int remainingUseTicks) void
postHit
(LivingEntity target, PlayerEntity player) void
postMine
(World world, BlockState state, BlockPos pos, PlayerEntity miner) <T> T
remove
(DataComponentType<? extends T> type) Removes the componenttype
.<T> T
set
(DataComponentType<? super T> type, T value) Sets the componenttype
for this item stack tovalue
.void
setBobbingAnimationTime
(int bobbingAnimationTime) void
setCount
(int count) Sets the count of items in this item stack.void
setDamage
(int damage) Sets the stack's damage todamage
.void
Sets the stack's holder toholder
.split
(int amount) Returns the copy of the stack "split" from the current stack with item count being at mostamount
.static boolean
stacksEqual
(List<ItemStack> left, List<ItemStack> right) Deprecated.Returns a stream of all tags the item is in.boolean
takesDamageFrom
(DamageSource source) Returns a text consisting of the bracketed stack name that can be hovered to show the item stack's tooltip.toString()
void
usageTick
(World world, LivingEntity user, int remainingUseTicks) use
(World world, PlayerEntity user, Hand hand) useOnBlock
(ItemUsageContext context) useOnEntity
(PlayerEntity user, LivingEntity entity, Hand hand) private static com.mojang.serialization.DataResult
<ItemStack> static com.mojang.serialization.DataResult
<Unit> validateComponents
(ComponentMap components) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.minecraft.component.ComponentHolder
contains, get, getOrDefault
-
Field Details
-
ITEM_CODEC
- Mappings:
Namespace Name Mixin selector named ITEM_CODEC
Lnet/minecraft/item/ItemStack;ITEM_CODEC:Lcom/mojang/serialization/Codec;
intermediary field_47312
Lnet/minecraft/class_1799;field_47312:Lcom/mojang/serialization/Codec;
official a
Lcuq;a:Lcom/mojang/serialization/Codec;
-
CODEC
- Mappings:
Namespace Name Mixin selector named CODEC
Lnet/minecraft/item/ItemStack;CODEC:Lcom/mojang/serialization/Codec;
intermediary field_24671
Lnet/minecraft/class_1799;field_24671:Lcom/mojang/serialization/Codec;
official b
Lcuq;b:Lcom/mojang/serialization/Codec;
-
UNCOUNTED_CODEC
- Mappings:
Namespace Name Mixin selector named UNCOUNTED_CODEC
Lnet/minecraft/item/ItemStack;UNCOUNTED_CODEC:Lcom/mojang/serialization/Codec;
intermediary field_49747
Lnet/minecraft/class_1799;field_49747:Lcom/mojang/serialization/Codec;
official c
Lcuq;c:Lcom/mojang/serialization/Codec;
-
VALIDATED_CODEC
- Mappings:
Namespace Name Mixin selector named VALIDATED_CODEC
Lnet/minecraft/item/ItemStack;VALIDATED_CODEC:Lcom/mojang/serialization/Codec;
intermediary field_51397
Lnet/minecraft/class_1799;field_51397:Lcom/mojang/serialization/Codec;
official d
Lcuq;d:Lcom/mojang/serialization/Codec;
-
VALIDATED_UNCOUNTED_CODEC
- Mappings:
Namespace Name Mixin selector named VALIDATED_UNCOUNTED_CODEC
Lnet/minecraft/item/ItemStack;VALIDATED_UNCOUNTED_CODEC:Lcom/mojang/serialization/Codec;
intermediary field_51398
Lnet/minecraft/class_1799;field_51398:Lcom/mojang/serialization/Codec;
official e
Lcuq;e:Lcom/mojang/serialization/Codec;
-
OPTIONAL_CODEC
- Mappings:
Namespace Name Mixin selector named OPTIONAL_CODEC
Lnet/minecraft/item/ItemStack;OPTIONAL_CODEC:Lcom/mojang/serialization/Codec;
intermediary field_49266
Lnet/minecraft/class_1799;field_49266:Lcom/mojang/serialization/Codec;
official f
Lcuq;f:Lcom/mojang/serialization/Codec;
-
REGISTRY_ENTRY_CODEC
- Mappings:
Namespace Name Mixin selector named REGISTRY_ENTRY_CODEC
Lnet/minecraft/item/ItemStack;REGISTRY_ENTRY_CODEC:Lcom/mojang/serialization/Codec;
intermediary field_49267
Lnet/minecraft/class_1799;field_49267:Lcom/mojang/serialization/Codec;
official g
Lcuq;g:Lcom/mojang/serialization/Codec;
-
OPTIONAL_PACKET_CODEC
- Mappings:
Namespace Name Mixin selector named OPTIONAL_PACKET_CODEC
Lnet/minecraft/item/ItemStack;OPTIONAL_PACKET_CODEC:Lnet/minecraft/network/codec/PacketCodec;
intermediary field_49268
Lnet/minecraft/class_1799;field_49268:Lnet/minecraft/class_9139;
official h
Lcuq;h:Lzn;
-
PACKET_CODEC
- Mappings:
Namespace Name Mixin selector named PACKET_CODEC
Lnet/minecraft/item/ItemStack;PACKET_CODEC:Lnet/minecraft/network/codec/PacketCodec;
intermediary field_48349
Lnet/minecraft/class_1799;field_48349:Lnet/minecraft/class_9139;
official i
Lcuq;i:Lzn;
-
OPTIONAL_LIST_PACKET_CODEC
- Mappings:
Namespace Name Mixin selector named OPTIONAL_LIST_PACKET_CODEC
Lnet/minecraft/item/ItemStack;OPTIONAL_LIST_PACKET_CODEC:Lnet/minecraft/network/codec/PacketCodec;
intermediary field_49269
Lnet/minecraft/class_1799;field_49269:Lnet/minecraft/class_9139;
official j
Lcuq;j:Lzn;
-
LIST_PACKET_CODEC
- Mappings:
Namespace Name Mixin selector named LIST_PACKET_CODEC
Lnet/minecraft/item/ItemStack;LIST_PACKET_CODEC:Lnet/minecraft/network/codec/PacketCodec;
intermediary field_48350
Lnet/minecraft/class_1799;field_48350:Lnet/minecraft/class_9139;
official k
Lcuq;k:Lzn;
-
LOGGER
- Mappings:
Namespace Name Mixin selector named LOGGER
Lnet/minecraft/item/ItemStack;LOGGER:Lorg/slf4j/Logger;
intermediary field_8033
Lnet/minecraft/class_1799;field_8033:Lorg/slf4j/Logger;
official m
Lcuq;m:Lorg/slf4j/Logger;
-
EMPTY
The empty item stack that holds no item.This should never be mutated.
- See Also:
- Mappings:
Namespace Name Mixin selector named EMPTY
Lnet/minecraft/item/ItemStack;EMPTY:Lnet/minecraft/item/ItemStack;
intermediary field_8037
Lnet/minecraft/class_1799;field_8037:Lnet/minecraft/class_1799;
official l
Lcuq;l:Lcuq;
-
DISABLED_TEXT
- Mappings:
Namespace Name Mixin selector named DISABLED_TEXT
Lnet/minecraft/item/ItemStack;DISABLED_TEXT:Lnet/minecraft/text/Text;
intermediary field_40211
Lnet/minecraft/class_1799;field_40211:Lnet/minecraft/class_2561;
official n
Lcuq;n:Lxp;
-
count
private int count- Mappings:
Namespace Name Mixin selector named count
Lnet/minecraft/item/ItemStack;count:I
intermediary field_8031
Lnet/minecraft/class_1799;field_8031:I
official o
Lcuq;o:I
-
bobbingAnimationTime
private int bobbingAnimationTime- Mappings:
Namespace Name Mixin selector named bobbingAnimationTime
Lnet/minecraft/item/ItemStack;bobbingAnimationTime:I
intermediary field_8030
Lnet/minecraft/class_1799;field_8030:I
official p
Lcuq;p:I
-
item
Deprecated.- Mappings:
Namespace Name Mixin selector named item
Lnet/minecraft/item/ItemStack;item:Lnet/minecraft/item/Item;
intermediary field_8038
Lnet/minecraft/class_1799;field_8038:Lnet/minecraft/class_1792;
official q
Lcuq;q:Lcul;
-
components
- Mappings:
Namespace Name Mixin selector named components
Lnet/minecraft/item/ItemStack;components:Lnet/minecraft/component/ComponentMapImpl;
intermediary field_49270
Lnet/minecraft/class_1799;field_49270:Lnet/minecraft/class_9335;
official r
Lcuq;r:Lkn;
-
holder
- Mappings:
Namespace Name Mixin selector named holder
Lnet/minecraft/item/ItemStack;holder:Lnet/minecraft/entity/Entity;
intermediary field_24093
Lnet/minecraft/class_1799;field_24093:Lnet/minecraft/class_1297;
official s
Lcuq;s:Lbsv;
-
-
Constructor Details
-
ItemStack
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/item/ItemStack;<init>(Lnet/minecraft/item/ItemConvertible;)V
intermediary <init>
Lnet/minecraft/class_1799;<init>(Lnet/minecraft/class_1935;)V
official <init>
Lcuq;<init>(Ldby;)V
-
ItemStack
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/item/ItemStack;<init>(Lnet/minecraft/registry/entry/RegistryEntry;)V
intermediary <init>
Lnet/minecraft/class_1799;<init>(Lnet/minecraft/class_6880;)V
official <init>
Lcuq;<init>(Lji;)V
-
ItemStack
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/item/ItemStack;<init>(Lnet/minecraft/registry/entry/RegistryEntry;ILnet/minecraft/component/ComponentChanges;)V
intermediary <init>
Lnet/minecraft/class_1799;<init>(Lnet/minecraft/class_6880;ILnet/minecraft/class_9326;)V
official <init>
Lcuq;<init>(Lji;ILkj;)V
-
ItemStack
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/item/ItemStack;<init>(Lnet/minecraft/registry/entry/RegistryEntry;I)V
intermediary <init>
Lnet/minecraft/class_1799;<init>(Lnet/minecraft/class_6880;I)V
official <init>
Lcuq;<init>(Lji;I)V
-
ItemStack
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/item/ItemStack;<init>(Lnet/minecraft/item/ItemConvertible;I)V
intermediary <init>
Lnet/minecraft/class_1799;<init>(Lnet/minecraft/class_1935;I)V
official <init>
Lcuq;<init>(Ldby;I)V
-
ItemStack
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/item/ItemStack;<init>(Lnet/minecraft/item/ItemConvertible;ILnet/minecraft/component/ComponentMapImpl;)V
intermediary <init>
Lnet/minecraft/class_1799;<init>(Lnet/minecraft/class_1935;ILnet/minecraft/class_9335;)V
official <init>
Lcuq;<init>(Ldby;ILkn;)V
-
ItemStack
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/item/ItemStack;<init>(Ljava/lang/Void;)V
intermediary <init>
Lnet/minecraft/class_1799;<init>(Ljava/lang/Void;)V
official <init>
Lcuq;<init>(Ljava/lang/Void;)V
-
-
Method Details
-
validate
- Mappings:
Namespace Name Mixin selector named validate
Lnet/minecraft/item/ItemStack;validate(Lnet/minecraft/item/ItemStack;)Lcom/mojang/serialization/DataResult;
intermediary method_57372
Lnet/minecraft/class_1799;method_57372(Lnet/minecraft/class_1799;)Lcom/mojang/serialization/DataResult;
official b
Lcuq;b(Lcuq;)Lcom/mojang/serialization/DataResult;
-
createExtraValidatingPacketCodec
public static PacketCodec<RegistryByteBuf,ItemStack> createExtraValidatingPacketCodec(PacketCodec<RegistryByteBuf, ItemStack> basePacketCodec) Returns a packet codec that ensures the validity of the decoded stack by checking if it can be re-encoded.This should be used when serializing
ItemStack
in C2S packets. Encoding is unaffected.- Returns:
- a packet codec that ensures the validity of the decoded stack by checking if it can be re-encoded
- Mappings:
Namespace Name Mixin selector named createExtraValidatingPacketCodec
Lnet/minecraft/item/ItemStack;createExtraValidatingPacketCodec(Lnet/minecraft/network/codec/PacketCodec;)Lnet/minecraft/network/codec/PacketCodec;
intermediary method_59693
Lnet/minecraft/class_1799;method_59693(Lnet/minecraft/class_9139;)Lnet/minecraft/class_9139;
official a
Lcuq;a(Lzn;)Lzn;
-
getTooltipData
- Mappings:
Namespace Name Mixin selector named getTooltipData
Lnet/minecraft/item/ItemStack;getTooltipData()Ljava/util/Optional;
intermediary method_32347
Lnet/minecraft/class_1799;method_32347()Ljava/util/Optional;
official b
Lcuq;b()Ljava/util/Optional;
-
getComponents
- Specified by:
getComponents
in interfaceComponentHolder
- Mappings:
Namespace Name Mixin selector named getComponents
Lnet/minecraft/component/ComponentHolder;getComponents()Lnet/minecraft/component/ComponentMap;
intermediary method_57353
Lnet/minecraft/class_9322;method_57353()Lnet/minecraft/class_9323;
official a
Lkh;a()Lki;
-
getDefaultComponents
- Mappings:
Namespace Name Mixin selector named getDefaultComponents
Lnet/minecraft/item/ItemStack;getDefaultComponents()Lnet/minecraft/component/ComponentMap;
intermediary method_58658
Lnet/minecraft/class_1799;method_58658()Lnet/minecraft/class_9323;
official c
Lcuq;c()Lki;
-
getComponentChanges
- Mappings:
Namespace Name Mixin selector named getComponentChanges
Lnet/minecraft/item/ItemStack;getComponentChanges()Lnet/minecraft/component/ComponentChanges;
intermediary method_57380
Lnet/minecraft/class_1799;method_57380()Lnet/minecraft/class_9326;
official d
Lcuq;d()Lkj;
-
validateComponents
- Mappings:
Namespace Name Mixin selector named validateComponents
Lnet/minecraft/item/ItemStack;validateComponents(Lnet/minecraft/component/ComponentMap;)Lcom/mojang/serialization/DataResult;
intermediary method_59691
Lnet/minecraft/class_1799;method_59691(Lnet/minecraft/class_9323;)Lcom/mojang/serialization/DataResult;
official a
Lcuq;a(Lki;)Lcom/mojang/serialization/DataResult;
-
fromNbt
- Mappings:
Namespace Name Mixin selector named fromNbt
Lnet/minecraft/item/ItemStack;fromNbt(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;Lnet/minecraft/nbt/NbtElement;)Ljava/util/Optional;
intermediary method_57360
Lnet/minecraft/class_1799;method_57360(Lnet/minecraft/class_7225$class_7874;Lnet/minecraft/class_2520;)Ljava/util/Optional;
official a
Lcuq;a(Ljk$a;Lvp;)Ljava/util/Optional;
-
fromNbtOrEmpty
- Mappings:
Namespace Name Mixin selector named fromNbtOrEmpty
Lnet/minecraft/item/ItemStack;fromNbtOrEmpty(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/item/ItemStack;
intermediary method_57359
Lnet/minecraft/class_1799;method_57359(Lnet/minecraft/class_7225$class_7874;Lnet/minecraft/class_2487;)Lnet/minecraft/class_1799;
official a
Lcuq;a(Ljk$a;Lus;)Lcuq;
-
isEmpty
public boolean isEmpty()Returns whether this item stack is empty.- Returns:
- whether this item stack is empty
- Mappings:
Namespace Name Mixin selector named isEmpty
Lnet/minecraft/item/ItemStack;isEmpty()Z
intermediary method_7960
Lnet/minecraft/class_1799;method_7960()Z
official e
Lcuq;e()Z
-
isItemEnabled
- Mappings:
Namespace Name Mixin selector named isItemEnabled
Lnet/minecraft/item/ItemStack;isItemEnabled(Lnet/minecraft/resource/featuretoggle/FeatureSet;)Z
intermediary method_45435
Lnet/minecraft/class_1799;method_45435(Lnet/minecraft/class_7699;)Z
official a
Lcuq;a(Lcpm;)Z
-
split
Returns the copy of the stack "split" from the current stack with item count being at mostamount
.Splitting an item stack mutates this stack so that the sum of the stacks' item counts does not change. See the example below:
ItemStack stack = new ItemStack(Items.APPLE, 64); ItemStack newStack = stack.split(10); // stack has 54 apples // newStack has 10 apples ItemStack smallStack = new ItemStack(Items.APPLE, 4); ItemStack newSmallStack = smallStack.split(10); // smallStack is now empty // newSmallStack has 4 apples
- Returns:
- the copy of the stack "split" from the current stack with item count
being at most
amount
- Mappings:
Namespace Name Mixin selector named split
Lnet/minecraft/item/ItemStack;split(I)Lnet/minecraft/item/ItemStack;
intermediary method_7971
Lnet/minecraft/class_1799;method_7971(I)Lnet/minecraft/class_1799;
official a
Lcuq;a(I)Lcuq;
-
copyAndEmpty
- Mappings:
Namespace Name Mixin selector named copyAndEmpty
Lnet/minecraft/item/ItemStack;copyAndEmpty()Lnet/minecraft/item/ItemStack;
intermediary method_51164
Lnet/minecraft/class_1799;method_51164()Lnet/minecraft/class_1799;
official f
Lcuq;f()Lcuq;
-
getItem
Returns the item of this stack.- Returns:
- the item of this stack
- See Also:
- Mappings:
Namespace Name Mixin selector named getItem
Lnet/minecraft/item/ItemStack;getItem()Lnet/minecraft/item/Item;
intermediary method_7909
Lnet/minecraft/class_1799;method_7909()Lnet/minecraft/class_1792;
official g
Lcuq;g()Lcul;
-
getRegistryEntry
- Mappings:
Namespace Name Mixin selector named getRegistryEntry
Lnet/minecraft/item/ItemStack;getRegistryEntry()Lnet/minecraft/registry/entry/RegistryEntry;
intermediary method_41409
Lnet/minecraft/class_1799;method_41409()Lnet/minecraft/class_6880;
official h
Lcuq;h()Lji;
-
isIn
Returns whether the item is intag
.- Returns:
- whether the item is in
tag
- Mappings:
Namespace Name Mixin selector named isIn
Lnet/minecraft/item/ItemStack;isIn(Lnet/minecraft/registry/tag/TagKey;)Z
intermediary method_31573
Lnet/minecraft/class_1799;method_31573(Lnet/minecraft/class_6862;)Z
official a
Lcuq;a(Laxf;)Z
-
isOf
Returns whether the item isitem
.- Returns:
- whether the item is
item
- Mappings:
Namespace Name Mixin selector named isOf
Lnet/minecraft/item/ItemStack;isOf(Lnet/minecraft/item/Item;)Z
intermediary method_31574
Lnet/minecraft/class_1799;method_31574(Lnet/minecraft/class_1792;)Z
official a
Lcuq;a(Lcul;)Z
-
itemMatches
Returns whether the item's registry entry passes thepredicate
.- Returns:
- whether the item's registry entry passes the
predicate
- See Also:
- Mappings:
Namespace Name Mixin selector named itemMatches
Lnet/minecraft/item/ItemStack;itemMatches(Ljava/util/function/Predicate;)Z
intermediary method_41407
Lnet/minecraft/class_1799;method_41407(Ljava/util/function/Predicate;)Z
official a
Lcuq;a(Ljava/util/function/Predicate;)Z
-
itemMatches
Returns whether the item's registry entry matchesitemEntry
.- Returns:
- whether the item's registry entry matches
itemEntry
- See Also:
- Mappings:
Namespace Name Mixin selector named itemMatches
Lnet/minecraft/item/ItemStack;itemMatches(Lnet/minecraft/registry/entry/RegistryEntry;)Z
intermediary method_41406
Lnet/minecraft/class_1799;method_41406(Lnet/minecraft/class_6880;)Z
official a
Lcuq;a(Lji;)Z
-
isIn
- Mappings:
Namespace Name Mixin selector named isIn
Lnet/minecraft/item/ItemStack;isIn(Lnet/minecraft/registry/entry/RegistryEntryList;)Z
intermediary method_53187
Lnet/minecraft/class_1799;method_53187(Lnet/minecraft/class_6885;)Z
official a
Lcuq;a(Ljm;)Z
-
streamTags
Returns a stream of all tags the item is in.- Returns:
- a stream of all tags the item is in
- See Also:
- Mappings:
Namespace Name Mixin selector named streamTags
Lnet/minecraft/item/ItemStack;streamTags()Ljava/util/stream/Stream;
intermediary method_40133
Lnet/minecraft/class_1799;method_40133()Ljava/util/stream/Stream;
official i
Lcuq;i()Ljava/util/stream/Stream;
-
useOnBlock
- Mappings:
Namespace Name Mixin selector named useOnBlock
Lnet/minecraft/item/ItemStack;useOnBlock(Lnet/minecraft/item/ItemUsageContext;)Lnet/minecraft/util/ActionResult;
intermediary method_7981
Lnet/minecraft/class_1799;method_7981(Lnet/minecraft/class_1838;)Lnet/minecraft/class_1269;
official a
Lcuq;a(Lcyd;)Lbqv;
-
getMiningSpeedMultiplier
- Mappings:
Namespace Name Mixin selector named getMiningSpeedMultiplier
Lnet/minecraft/item/ItemStack;getMiningSpeedMultiplier(Lnet/minecraft/block/BlockState;)F
intermediary method_7924
Lnet/minecraft/class_1799;method_7924(Lnet/minecraft/class_2680;)F
official a
Lcuq;a(Ldsd;)F
-
use
- Mappings:
Namespace Name Mixin selector named use
Lnet/minecraft/item/ItemStack;use(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/util/TypedActionResult;
intermediary method_7913
Lnet/minecraft/class_1799;method_7913(Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1271;
official a
Lcuq;a(Ldbz;Lcmy;Lbqu;)Lbqw;
-
finishUsing
- Mappings:
Namespace Name Mixin selector named finishUsing
Lnet/minecraft/item/ItemStack;finishUsing(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;)Lnet/minecraft/item/ItemStack;
intermediary method_7910
Lnet/minecraft/class_1799;method_7910(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;)Lnet/minecraft/class_1799;
official a
Lcuq;a(Ldbz;Lbtq;)Lcuq;
-
encode
- Mappings:
Namespace Name Mixin selector named encode
Lnet/minecraft/item/ItemStack;encode(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;Lnet/minecraft/nbt/NbtElement;)Lnet/minecraft/nbt/NbtElement;
intermediary method_57376
Lnet/minecraft/class_1799;method_57376(Lnet/minecraft/class_7225$class_7874;Lnet/minecraft/class_2520;)Lnet/minecraft/class_2520;
official b
Lcuq;b(Ljk$a;Lvp;)Lvp;
-
encode
- Mappings:
Namespace Name Mixin selector named encode
Lnet/minecraft/item/ItemStack;encode(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtElement;
intermediary method_57358
Lnet/minecraft/class_1799;method_57358(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2520;
official a
Lcuq;a(Ljk$a;)Lvp;
-
encodeAllowEmpty
- Mappings:
Namespace Name Mixin selector named encodeAllowEmpty
Lnet/minecraft/item/ItemStack;encodeAllowEmpty(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtElement;
intermediary method_57375
Lnet/minecraft/class_1799;method_57375(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2520;
official b
Lcuq;b(Ljk$a;)Lvp;
-
getMaxCount
public int getMaxCount()- Mappings:
Namespace Name Mixin selector named getMaxCount
Lnet/minecraft/item/ItemStack;getMaxCount()I
intermediary method_7914
Lnet/minecraft/class_1799;method_7914()I
official j
Lcuq;j()I
-
isStackable
public boolean isStackable()Returns whether the item stack can have item count above1
.Stackable items must have the maximum count that is more than
1
and cannot be damaged.- Returns:
- whether the item stack can have item count above
1
- Mappings:
Namespace Name Mixin selector named isStackable
Lnet/minecraft/item/ItemStack;isStackable()Z
intermediary method_7946
Lnet/minecraft/class_1799;method_7946()Z
official k
Lcuq;k()Z
-
isDamageable
public boolean isDamageable()Returns whether the item can be damaged (lose durability).Items with 0 max damage or item stacks with
DataComponentTypes.UNBREAKABLE
component cannot be damaged.- Returns:
- whether the item can be damaged (lose durability)
- See Also:
- Mappings:
Namespace Name Mixin selector named isDamageable
Lnet/minecraft/item/ItemStack;isDamageable()Z
intermediary method_7963
Lnet/minecraft/class_1799;method_7963()Z
official l
Lcuq;l()Z
-
isDamaged
public boolean isDamaged()Returns whether the item stack is damageable and has damage.- Returns:
- whether the item stack is damageable and has damage
- See Also:
- Mappings:
Namespace Name Mixin selector named isDamaged
Lnet/minecraft/item/ItemStack;isDamaged()Z
intermediary method_7986
Lnet/minecraft/class_1799;method_7986()Z
official m
Lcuq;m()Z
-
getDamage
public int getDamage()Returns the damage (lost durability) of the item stack.Note that this method does not check if the item is damageable, unlike
isDamaged()
.- Returns:
- the damage (lost durability) of the item stack
- See Also:
- Mappings:
Namespace Name Mixin selector named getDamage
Lnet/minecraft/item/ItemStack;getDamage()I
intermediary method_7919
Lnet/minecraft/class_1799;method_7919()I
official n
Lcuq;n()I
-
setDamage
public void setDamage(int damage) Sets the stack's damage todamage
.This does not break the item if the damage reaches the maximum, unlike
damage(int, LivingEntity, EquipmentSlot)
.- See Also:
- Mappings:
Namespace Name Mixin selector named setDamage
Lnet/minecraft/item/ItemStack;setDamage(I)V
intermediary method_7974
Lnet/minecraft/class_1799;method_7974(I)V
official b
Lcuq;b(I)V
-
getMaxDamage
public int getMaxDamage()- Mappings:
Namespace Name Mixin selector named getMaxDamage
Lnet/minecraft/item/ItemStack;getMaxDamage()I
intermediary method_7936
Lnet/minecraft/class_1799;method_7936()I
official o
Lcuq;o()I
-
damage
public void damage(int amount, Random random, @Nullable @Nullable ServerPlayerEntity player, Runnable breakCallback) Damages this item stack. This method should be used when a non-entity, such as a dispenser, damages the stack. This does not damage non-damageable stacks, and the unbreaking enchantment is applied toamount
before damaging.If
player
is notnull
, this triggersCriteria.ITEM_DURABILITY_CHANGED
.When the item "breaks", that is, the stack's damage is equal to or above the maximum damage,
breakCallback
is run. Callers should decrement the stack size inside the callback.- Parameters:
player
- the player that damaged the stack, ornull
if no player is involvedbreakCallback
- a callback run when the item "breaks"- Mappings:
Namespace Name Mixin selector named damage
Lnet/minecraft/item/ItemStack;damage(ILnet/minecraft/util/math/random/Random;Lnet/minecraft/server/network/ServerPlayerEntity;Ljava/lang/Runnable;)V
intermediary method_7956
Lnet/minecraft/class_1799;method_7956(ILnet/minecraft/class_5819;Lnet/minecraft/class_3222;Ljava/lang/Runnable;)V
official a
Lcuq;a(ILazh;Larg;Ljava/lang/Runnable;)V
-
damage
Damages this item stack. This method should be used when an entity, including a player, damages the stack. This does not damage non-damageable stacks, and the unbreaking enchantment is applied toamount
before damaging. Additionally, ifentity
is a player in creative mode, the stack will not be damaged.If
entity
is a player, this triggersCriteria.ITEM_DURABILITY_CHANGED
.If the stack's damage is equal to or above the maximum damage (i.e. the item is "broken"), this will send the equipment break status, decrement the stack, and increment
Stats.BROKEN
if the stack is held by a player.- Parameters:
slot
- the slot in which the stack is held- Mappings:
Namespace Name Mixin selector named damage
Lnet/minecraft/item/ItemStack;damage(ILnet/minecraft/entity/LivingEntity;Lnet/minecraft/entity/EquipmentSlot;)V
intermediary method_7970
Lnet/minecraft/class_1799;method_7970(ILnet/minecraft/class_1309;Lnet/minecraft/class_1304;)V
official a
Lcuq;a(ILbtq;Lbtc;)V
-
isItemBarVisible
public boolean isItemBarVisible()- Mappings:
Namespace Name Mixin selector named isItemBarVisible
Lnet/minecraft/item/ItemStack;isItemBarVisible()Z
intermediary method_31578
Lnet/minecraft/class_1799;method_31578()Z
official p
Lcuq;p()Z
-
getItemBarStep
public int getItemBarStep()Returns the length of the filled section of the durability bar in pixels (out of 13).- Returns:
- the length of the filled section of the durability bar in pixels (out of 13)
- Mappings:
Namespace Name Mixin selector named getItemBarStep
Lnet/minecraft/item/ItemStack;getItemBarStep()I
intermediary method_31579
Lnet/minecraft/class_1799;method_31579()I
official q
Lcuq;q()I
-
getItemBarColor
public int getItemBarColor()Returns the color of the filled section of the durability bar.- Returns:
- the color of the filled section of the durability bar
- Mappings:
Namespace Name Mixin selector named getItemBarColor
Lnet/minecraft/item/ItemStack;getItemBarColor()I
intermediary method_31580
Lnet/minecraft/class_1799;method_31580()I
official r
Lcuq;r()I
-
onStackClicked
- Mappings:
Namespace Name Mixin selector named onStackClicked
Lnet/minecraft/item/ItemStack;onStackClicked(Lnet/minecraft/screen/slot/Slot;Lnet/minecraft/util/ClickType;Lnet/minecraft/entity/player/PlayerEntity;)Z
intermediary method_31575
Lnet/minecraft/class_1799;method_31575(Lnet/minecraft/class_1735;Lnet/minecraft/class_5536;Lnet/minecraft/class_1657;)Z
official a
Lcuq;a(Lcrq;Lcqd;Lcmy;)Z
-
onClicked
public boolean onClicked(ItemStack stack, Slot slot, ClickType clickType, PlayerEntity player, StackReference cursorStackReference) - Mappings:
Namespace Name Mixin selector named onClicked
Lnet/minecraft/item/ItemStack;onClicked(Lnet/minecraft/item/ItemStack;Lnet/minecraft/screen/slot/Slot;Lnet/minecraft/util/ClickType;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/inventory/StackReference;)Z
intermediary method_31576
Lnet/minecraft/class_1799;method_31576(Lnet/minecraft/class_1799;Lnet/minecraft/class_1735;Lnet/minecraft/class_5536;Lnet/minecraft/class_1657;Lnet/minecraft/class_5630;)Z
official a
Lcuq;a(Lcuq;Lcrq;Lcqd;Lcmy;Lbui;)Z
-
postHit
- Mappings:
Namespace Name Mixin selector named postHit
Lnet/minecraft/item/ItemStack;postHit(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/entity/player/PlayerEntity;)V
intermediary method_7979
Lnet/minecraft/class_1799;method_7979(Lnet/minecraft/class_1309;Lnet/minecraft/class_1657;)V
official a
Lcuq;a(Lbtq;Lcmy;)V
-
postMine
- Mappings:
Namespace Name Mixin selector named postMine
Lnet/minecraft/item/ItemStack;postMine(Lnet/minecraft/world/World;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;)V
intermediary method_7952
Lnet/minecraft/class_1799;method_7952(Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;)V
official a
Lcuq;a(Ldbz;Ldsd;Liz;Lcmy;)V
-
isSuitableFor
Determines whether this item can be used as a suitable tool for mining the specified block.Depending on block implementation, when combined together, the correct item and block may achieve a better mining speed and yield drops that would not be obtained when mining otherwise.
- Returns:
- values consistent with calls to
invalid reference
Item#isSuitableFor
- See Also:
- Mappings:
Namespace Name Mixin selector named isSuitableFor
Lnet/minecraft/item/ItemStack;isSuitableFor(Lnet/minecraft/block/BlockState;)Z
intermediary method_7951
Lnet/minecraft/class_1799;method_7951(Lnet/minecraft/class_2680;)Z
official b
Lcuq;b(Ldsd;)Z
-
useOnEntity
- Mappings:
Namespace Name Mixin selector named useOnEntity
Lnet/minecraft/item/ItemStack;useOnEntity(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/util/ActionResult;
intermediary method_7920
Lnet/minecraft/class_1799;method_7920(Lnet/minecraft/class_1657;Lnet/minecraft/class_1309;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1269;
official a
Lcuq;a(Lcmy;Lbtq;Lbqu;)Lbqv;
-
copy
Returns a copy of this item stack, including the item count, components, and bobbing animation time.- Returns:
- a copy of this item stack, including the item count, components, and bobbing animation time
- See Also:
- Mappings:
Namespace Name Mixin selector named copy
Lnet/minecraft/item/ItemStack;copy()Lnet/minecraft/item/ItemStack;
intermediary method_7972
Lnet/minecraft/class_1799;method_7972()Lnet/minecraft/class_1799;
official s
Lcuq;s()Lcuq;
-
copyWithCount
Returns a copy of this item stack, including the components, and bobbing animation time., with the item count set tocount
- Parameters:
count
- the item count of the resultant stack- Returns:
- a copy of this item stack, including the components, and bobbing animation time
- See Also:
- Mappings:
Namespace Name Mixin selector named copyWithCount
Lnet/minecraft/item/ItemStack;copyWithCount(I)Lnet/minecraft/item/ItemStack;
intermediary method_46651
Lnet/minecraft/class_1799;method_46651(I)Lnet/minecraft/class_1799;
official c
Lcuq;c(I)Lcuq;
-
copyComponentsToNewStack
Returns a new item stack with the components copied from this item stack.- Parameters:
item
- the item of the resultant stackcount
- the item count of the resultant stack- Returns:
- a new item stack with the components copied from this item stack
- See Also:
- Mappings:
Namespace Name Mixin selector named copyComponentsToNewStack
Lnet/minecraft/item/ItemStack;copyComponentsToNewStack(Lnet/minecraft/item/ItemConvertible;I)Lnet/minecraft/item/ItemStack;
intermediary method_56701
Lnet/minecraft/class_1799;method_56701(Lnet/minecraft/class_1935;I)Lnet/minecraft/class_1799;
official a
Lcuq;a(Ldby;I)Lcuq;
-
copyComponentsToNewStackIgnoreEmpty
Returns a new item stack with the components copied from this item stack, even if this stack is empty.- Parameters:
item
- the item of the resultant stackcount
- the item count of the resultant stack- Returns:
- a new item stack with the components copied from this item stack, even if this stack is empty
- See Also:
- Mappings:
Namespace Name Mixin selector named copyComponentsToNewStackIgnoreEmpty
Lnet/minecraft/item/ItemStack;copyComponentsToNewStackIgnoreEmpty(Lnet/minecraft/item/ItemConvertible;I)Lnet/minecraft/item/ItemStack;
intermediary method_56704
Lnet/minecraft/class_1799;method_56704(Lnet/minecraft/class_1935;I)Lnet/minecraft/class_1799;
official b
Lcuq;b(Ldby;I)Lcuq;
-
areEqual
Returns whether the given item stacks are equal, including the item count and components.- Returns:
- whether the given item stacks are equal, including the item count and components
- See Also:
- Mappings:
Namespace Name Mixin selector named areEqual
Lnet/minecraft/item/ItemStack;areEqual(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z
intermediary method_7973
Lnet/minecraft/class_1799;method_7973(Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
official a
Lcuq;a(Lcuq;Lcuq;)Z
-
stacksEqual
Deprecated.- Mappings:
Namespace Name Mixin selector named stacksEqual
Lnet/minecraft/item/ItemStack;stacksEqual(Ljava/util/List;Ljava/util/List;)Z
intermediary method_57362
Lnet/minecraft/class_1799;method_57362(Ljava/util/List;Ljava/util/List;)Z
official a
Lcuq;a(Ljava/util/List;Ljava/util/List;)Z
-
areItemsEqual
Returns whether the given item stacks contain the same item, regardless of item count or components.- Returns:
- whether the given item stacks contain the same item, regardless of item count or components
- See Also:
- Mappings:
Namespace Name Mixin selector named areItemsEqual
Lnet/minecraft/item/ItemStack;areItemsEqual(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z
intermediary method_7984
Lnet/minecraft/class_1799;method_7984(Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
official b
Lcuq;b(Lcuq;Lcuq;)Z
-
areItemsAndComponentsEqual
Returns whether the given item stacks' items and components are equal.If this returns
true
, the two item stacks can be combined into one, as long as the resulting item count does not exceed the maximum item count- Returns:
- whether the given item stacks' items and components are equal
- See Also:
- Mappings:
Namespace Name Mixin selector named areItemsAndComponentsEqual
Lnet/minecraft/item/ItemStack;areItemsAndComponentsEqual(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z
intermediary method_31577
Lnet/minecraft/class_1799;method_31577(Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
official c
Lcuq;c(Lcuq;Lcuq;)Z
-
createOptionalCodec
- Mappings:
Namespace Name Mixin selector named createOptionalCodec
Lnet/minecraft/item/ItemStack;createOptionalCodec(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;
intermediary method_56702
Lnet/minecraft/class_1799;method_56702(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;
official a
Lcuq;a(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;
-
hashCode
- Mappings:
Namespace Name Mixin selector named hashCode
Lnet/minecraft/item/ItemStack;hashCode(Lnet/minecraft/item/ItemStack;)I
intermediary method_57355
Lnet/minecraft/class_1799;method_57355(Lnet/minecraft/class_1799;)I
official a
Lcuq;a(Lcuq;)I
-
listHashCode
Deprecated.- Mappings:
Namespace Name Mixin selector named listHashCode
Lnet/minecraft/item/ItemStack;listHashCode(Ljava/util/List;)I
intermediary method_57361
Lnet/minecraft/class_1799;method_57361(Ljava/util/List;)I
official a
Lcuq;a(Ljava/util/List;)I
-
getTranslationKey
- Mappings:
Namespace Name Mixin selector named getTranslationKey
Lnet/minecraft/item/ItemStack;getTranslationKey()Ljava/lang/String;
intermediary method_7922
Lnet/minecraft/class_1799;method_7922()Ljava/lang/String;
official t
Lcuq;t()Ljava/lang/String;
-
toString
-
inventoryTick
- Mappings:
Namespace Name Mixin selector named inventoryTick
Lnet/minecraft/item/ItemStack;inventoryTick(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;IZ)V
intermediary method_7917
Lnet/minecraft/class_1799;method_7917(Lnet/minecraft/class_1937;Lnet/minecraft/class_1297;IZ)V
official a
Lcuq;a(Ldbz;Lbsv;IZ)V
-
onCraftByPlayer
- Mappings:
Namespace Name Mixin selector named onCraftByPlayer
Lnet/minecraft/item/ItemStack;onCraftByPlayer(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;I)V
intermediary method_7982
Lnet/minecraft/class_1799;method_7982(Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;I)V
official a
Lcuq;a(Ldbz;Lcmy;I)V
-
onCraftByCrafter
- Mappings:
Namespace Name Mixin selector named onCraftByCrafter
Lnet/minecraft/item/ItemStack;onCraftByCrafter(Lnet/minecraft/world/World;)V
intermediary method_54466
Lnet/minecraft/class_1799;method_54466(Lnet/minecraft/class_1937;)V
official a
Lcuq;a(Ldbz;)V
-
getMaxUseTime
public int getMaxUseTime()- Mappings:
Namespace Name Mixin selector named getMaxUseTime
Lnet/minecraft/item/ItemStack;getMaxUseTime()I
intermediary method_7935
Lnet/minecraft/class_1799;method_7935()I
official u
Lcuq;u()I
-
getUseAction
- Mappings:
Namespace Name Mixin selector named getUseAction
Lnet/minecraft/item/ItemStack;getUseAction()Lnet/minecraft/util/UseAction;
intermediary method_7976
Lnet/minecraft/class_1799;method_7976()Lnet/minecraft/class_1839;
official v
Lcuq;v()Lcwl;
-
onStoppedUsing
- Mappings:
Namespace Name Mixin selector named onStoppedUsing
Lnet/minecraft/item/ItemStack;onStoppedUsing(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;I)V
intermediary method_7930
Lnet/minecraft/class_1799;method_7930(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;I)V
official a
Lcuq;a(Ldbz;Lbtq;I)V
-
isUsedOnRelease
public boolean isUsedOnRelease()- Mappings:
Namespace Name Mixin selector named isUsedOnRelease
Lnet/minecraft/item/ItemStack;isUsedOnRelease()Z
intermediary method_7967
Lnet/minecraft/class_1799;method_7967()Z
official w
Lcuq;w()Z
-
set
Sets the componenttype
for this item stack tovalue
.If
value
isnull
, the component is removed and the base component is unset. To reverse the stack-specific change, instead pass the default value asvalue
.- Returns:
- the previous value set
- See Also:
- Mappings:
Namespace Name Mixin selector named set
Lnet/minecraft/item/ItemStack;set(Lnet/minecraft/component/DataComponentType;Ljava/lang/Object;)Ljava/lang/Object;
intermediary method_57379
Lnet/minecraft/class_1799;method_57379(Lnet/minecraft/class_9331;Ljava/lang/Object;)Ljava/lang/Object;
official b
Lcuq;b(Lkl;Ljava/lang/Object;)Ljava/lang/Object;
-
apply
@Nullable public <T,U> T apply(DataComponentType<T> type, T defaultValue, U change, BiFunction<T, U, T> applier) Sets the componenttype
by passing the current value andchange
toapplier
, then setting its return value as the value. If the component is missing,defaultValue
is used as the default.In practice,
applier
is a reference to a method of the component class with one parameter, that returns a new instance of the component with the specific value changed tochange
. For example, adding a lore can be accomplished by passing reference toLoreComponent.with(net.minecraft.text.Text)
and the added lore, likestack.apply(DataComponentTypes.LORE, LoreComponent.DEFAULT, text, LoreComponent::with)
.- Returns:
- the previous value set
- See Also:
- Implementation Note:
- This is the same as setting
applier.apply(stack.getOrDefault(type, defaultValue), change)
. - Mappings:
Namespace Name Mixin selector named apply
Lnet/minecraft/item/ItemStack;apply(Lnet/minecraft/component/DataComponentType;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
intermediary method_57367
Lnet/minecraft/class_1799;method_57367(Lnet/minecraft/class_9331;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
official a
Lcuq;a(Lkl;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
-
apply
Sets the componenttype
by passing the current value (ordefaultValue
if the component is missing) toapplier
and then setting its return value as the value.- Returns:
- the previous value set
- See Also:
- Implementation Note:
- This is the same as setting
applier.apply(stack.getOrDefault(type, defaultValue))
. - Mappings:
Namespace Name Mixin selector named apply
Lnet/minecraft/item/ItemStack;apply(Lnet/minecraft/component/DataComponentType;Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;
intermediary method_57368
Lnet/minecraft/class_1799;method_57368(Lnet/minecraft/class_9331;Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;
official a
Lcuq;a(Lkl;Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;
-
remove
Removes the componenttype
. If it is in the stack's base component, it is unset and the component becomes missing. To reverse the stack-specific change, instead pass the default value asvalue
.- Returns:
- the previous value set
- Mappings:
Namespace Name Mixin selector named remove
Lnet/minecraft/item/ItemStack;remove(Lnet/minecraft/component/DataComponentType;)Ljava/lang/Object;
intermediary method_57381
Lnet/minecraft/class_1799;method_57381(Lnet/minecraft/class_9331;)Ljava/lang/Object;
official c
Lcuq;c(Lkl;)Ljava/lang/Object;
-
applyChanges
- Mappings:
Namespace Name Mixin selector named applyChanges
Lnet/minecraft/item/ItemStack;applyChanges(Lnet/minecraft/component/ComponentChanges;)V
intermediary method_59692
Lnet/minecraft/class_1799;method_59692(Lnet/minecraft/class_9326;)V
official a
Lcuq;a(Lkj;)V
-
applyUnvalidatedChanges
- Mappings:
Namespace Name Mixin selector named applyUnvalidatedChanges
Lnet/minecraft/item/ItemStack;applyUnvalidatedChanges(Lnet/minecraft/component/ComponentChanges;)V
intermediary method_57366
Lnet/minecraft/class_1799;method_57366(Lnet/minecraft/class_9326;)V
official b
Lcuq;b(Lkj;)V
-
applyComponentsFrom
- Mappings:
Namespace Name Mixin selector named applyComponentsFrom
Lnet/minecraft/item/ItemStack;applyComponentsFrom(Lnet/minecraft/component/ComponentMap;)V
intermediary method_57365
Lnet/minecraft/class_1799;method_57365(Lnet/minecraft/class_9323;)V
official b
Lcuq;b(Lki;)V
-
getName
Returns the custom name of the stack if it exists, or the item's name.- Returns:
- the custom name of the stack if it exists, or the item's name
- Mappings:
Namespace Name Mixin selector named getName
Lnet/minecraft/item/ItemStack;getName()Lnet/minecraft/text/Text;
intermediary method_7964
Lnet/minecraft/class_1799;method_7964()Lnet/minecraft/class_2561;
official x
Lcuq;x()Lxp;
-
appendTooltip
private <T extends TooltipAppender> void appendTooltip(DataComponentType<T> componentType, Item.TooltipContext context, Consumer<Text> textConsumer, TooltipType type) - Mappings:
Namespace Name Mixin selector named appendTooltip
Lnet/minecraft/item/ItemStack;appendTooltip(Lnet/minecraft/component/DataComponentType;Lnet/minecraft/item/Item$TooltipContext;Ljava/util/function/Consumer;Lnet/minecraft/client/item/TooltipType;)V
intermediary method_57369
Lnet/minecraft/class_1799;method_57369(Lnet/minecraft/class_9331;Lnet/minecraft/class_1792$class_9635;Ljava/util/function/Consumer;Lnet/minecraft/class_1836;)V
official a
Lcuq;a(Lkl;Lcul$b;Ljava/util/function/Consumer;Lcwj;)V
-
getTooltip
public List<Text> getTooltip(Item.TooltipContext context, @Nullable @Nullable PlayerEntity player, TooltipType type) - Mappings:
Namespace Name Mixin selector named getTooltip
Lnet/minecraft/item/ItemStack;getTooltip(Lnet/minecraft/item/Item$TooltipContext;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/client/item/TooltipType;)Ljava/util/List;
intermediary method_7950
Lnet/minecraft/class_1799;method_7950(Lnet/minecraft/class_1792$class_9635;Lnet/minecraft/class_1657;Lnet/minecraft/class_1836;)Ljava/util/List;
official a
Lcuq;a(Lcul$b;Lcmy;Lcwj;)Ljava/util/List;
-
appendAttributeModifiersTooltip
private void appendAttributeModifiersTooltip(Consumer<Text> textConsumer, @Nullable @Nullable PlayerEntity player) - Mappings:
Namespace Name Mixin selector named appendAttributeModifiersTooltip
Lnet/minecraft/item/ItemStack;appendAttributeModifiersTooltip(Ljava/util/function/Consumer;Lnet/minecraft/entity/player/PlayerEntity;)V
intermediary method_57363
Lnet/minecraft/class_1799;method_57363(Ljava/util/function/Consumer;Lnet/minecraft/class_1657;)V
official a
Lcuq;a(Ljava/util/function/Consumer;Lcmy;)V
-
appendAttributeModifierTooltip
private void appendAttributeModifierTooltip(Consumer<Text> textConsumer, @Nullable @Nullable PlayerEntity player, RegistryEntry<EntityAttribute> attribute, EntityAttributeModifier modifier) - Mappings:
Namespace Name Mixin selector named appendAttributeModifierTooltip
Lnet/minecraft/item/ItemStack;appendAttributeModifierTooltip(Ljava/util/function/Consumer;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/registry/entry/RegistryEntry;Lnet/minecraft/entity/attribute/EntityAttributeModifier;)V
intermediary method_57364
Lnet/minecraft/class_1799;method_57364(Ljava/util/function/Consumer;Lnet/minecraft/class_1657;Lnet/minecraft/class_6880;Lnet/minecraft/class_1322;)V
official a
Lcuq;a(Ljava/util/function/Consumer;Lcmy;Lji;Lbuw;)V
-
hasGlint
public boolean hasGlint()- Mappings:
Namespace Name Mixin selector named hasGlint
Lnet/minecraft/item/ItemStack;hasGlint()Z
intermediary method_7958
Lnet/minecraft/class_1799;method_7958()Z
official y
Lcuq;y()Z
-
getRarity
- Mappings:
Namespace Name Mixin selector named getRarity
Lnet/minecraft/item/ItemStack;getRarity()Lnet/minecraft/util/Rarity;
intermediary method_7932
Lnet/minecraft/class_1799;method_7932()Lnet/minecraft/class_1814;
official z
Lcuq;z()Lcvk;
-
isEnchantable
public boolean isEnchantable()Returns whether this item stack can be enchanted with an enchanting table.This is not used for other methods of enchanting like anvils.
- Returns:
- whether this item stack can be enchanted with an enchanting table
- Mappings:
Namespace Name Mixin selector named isEnchantable
Lnet/minecraft/item/ItemStack;isEnchantable()Z
intermediary method_7923
Lnet/minecraft/class_1799;method_7923()Z
official A
Lcuq;A()Z
-
addEnchantment
Enchants this item with the given enchantment and level.This should not be used with enchanted books, as the book itself is not enchanted and therefore does not store enchantments under
DataComponentTypes.ENCHANTMENTS
.- See Also:
- Mappings:
Namespace Name Mixin selector named addEnchantment
Lnet/minecraft/item/ItemStack;addEnchantment(Lnet/minecraft/enchantment/Enchantment;I)V
intermediary method_7978
Lnet/minecraft/class_1799;method_7978(Lnet/minecraft/class_1887;I)V
official a
Lcuq;a(Ldab;I)V
-
hasEnchantments
public boolean hasEnchantments()Returns whether the item stack has any enchantments.This will return
false
for enchanted books, as the book itself is not enchanted and therefore does not store enchantments underDataComponentTypes.ENCHANTMENTS
.- Returns:
- whether the item stack has any enchantments
- See Also:
- Mappings:
Namespace Name Mixin selector named hasEnchantments
Lnet/minecraft/item/ItemStack;hasEnchantments()Z
intermediary method_7942
Lnet/minecraft/class_1799;method_7942()Z
official B
Lcuq;B()Z
-
getEnchantments
- Mappings:
Namespace Name Mixin selector named getEnchantments
Lnet/minecraft/item/ItemStack;getEnchantments()Lnet/minecraft/component/type/ItemEnchantmentsComponent;
intermediary method_58657
Lnet/minecraft/class_1799;method_58657()Lnet/minecraft/class_9304;
official C
Lcuq;C()Ldag;
-
isInFrame
public boolean isInFrame()Returns whether the item stack is in an item frame.- Returns:
- whether the item stack is in an item frame
- See Also:
- Mappings:
Namespace Name Mixin selector named isInFrame
Lnet/minecraft/item/ItemStack;isInFrame()Z
intermediary method_7961
Lnet/minecraft/class_1799;method_7961()Z
official D
Lcuq;D()Z
-
setHolder
Sets the stack's holder toholder
.This is used by item frames and item entities, and does not need to be called for other entities.
- See Also:
- Mappings:
Namespace Name Mixin selector named setHolder
Lnet/minecraft/item/ItemStack;setHolder(Lnet/minecraft/entity/Entity;)V
intermediary method_27320
Lnet/minecraft/class_1799;method_27320(Lnet/minecraft/class_1297;)V
official a
Lcuq;a(Lbsv;)V
-
getFrame
Returns the item frame that holds the stack, ornull
if inapplicable.- Returns:
- the item frame that holds the stack, or
null
if inapplicable - See Also:
- Mappings:
Namespace Name Mixin selector named getFrame
Lnet/minecraft/item/ItemStack;getFrame()Lnet/minecraft/entity/decoration/ItemFrameEntity;
intermediary method_7945
Lnet/minecraft/class_1799;method_7945()Lnet/minecraft/class_1533;
official E
Lcuq;E()Lcjb;
-
getHolder
Returns the entity that holds the stack, ornull
if inapplicable.- Returns:
- the entity that holds the stack, or
null
if inapplicable - See Also:
- Mappings:
Namespace Name Mixin selector named getHolder
Lnet/minecraft/item/ItemStack;getHolder()Lnet/minecraft/entity/Entity;
intermediary method_27319
Lnet/minecraft/class_1799;method_27319()Lnet/minecraft/class_1297;
official F
Lcuq;F()Lbsv;
-
applyAttributeModifiers
public void applyAttributeModifiers(EquipmentSlot slot, BiConsumer<RegistryEntry<EntityAttribute>, EntityAttributeModifier> attributeModifierConsumer) - Mappings:
Namespace Name Mixin selector named applyAttributeModifiers
Lnet/minecraft/item/ItemStack;applyAttributeModifiers(Lnet/minecraft/entity/EquipmentSlot;Ljava/util/function/BiConsumer;)V
intermediary method_57354
Lnet/minecraft/class_1799;method_57354(Lnet/minecraft/class_1304;Ljava/util/function/BiConsumer;)V
official a
Lcuq;a(Lbtc;Ljava/util/function/BiConsumer;)V
-
toHoverableText
Returns a text consisting of the bracketed stack name that can be hovered to show the item stack's tooltip.- Returns:
- a text consisting of the bracketed stack name that can be hovered to show the item stack's tooltip
- Mappings:
Namespace Name Mixin selector named toHoverableText
Lnet/minecraft/item/ItemStack;toHoverableText()Lnet/minecraft/text/Text;
intermediary method_7954
Lnet/minecraft/class_1799;method_7954()Lnet/minecraft/class_2561;
official G
Lcuq;G()Lxp;
-
canPlaceOn
- Mappings:
Namespace Name Mixin selector named canPlaceOn
Lnet/minecraft/item/ItemStack;canPlaceOn(Lnet/minecraft/block/pattern/CachedBlockPosition;)Z
intermediary method_57357
Lnet/minecraft/class_1799;method_57357(Lnet/minecraft/class_2694;)Z
official a
Lcuq;a(Ldsh;)Z
-
canBreak
- Mappings:
Namespace Name Mixin selector named canBreak
Lnet/minecraft/item/ItemStack;canBreak(Lnet/minecraft/block/pattern/CachedBlockPosition;)Z
intermediary method_57373
Lnet/minecraft/class_1799;method_57373(Lnet/minecraft/class_2694;)Z
official b
Lcuq;b(Ldsh;)Z
-
getBobbingAnimationTime
public int getBobbingAnimationTime()- Mappings:
Namespace Name Mixin selector named getBobbingAnimationTime
Lnet/minecraft/item/ItemStack;getBobbingAnimationTime()I
intermediary method_7965
Lnet/minecraft/class_1799;method_7965()I
official H
Lcuq;H()I
-
setBobbingAnimationTime
public void setBobbingAnimationTime(int bobbingAnimationTime) - Mappings:
Namespace Name Mixin selector named setBobbingAnimationTime
Lnet/minecraft/item/ItemStack;setBobbingAnimationTime(I)V
intermediary method_7912
Lnet/minecraft/class_1799;method_7912(I)V
official d
Lcuq;d(I)V
-
getCount
public int getCount()Returns the count of items in this item stack.- Returns:
- the count of items in this item stack
- Mappings:
Namespace Name Mixin selector named getCount
Lnet/minecraft/item/ItemStack;getCount()I
intermediary method_7947
Lnet/minecraft/class_1799;method_7947()I
official I
Lcuq;I()I
-
setCount
public void setCount(int count) Sets the count of items in this item stack.- Parameters:
count
- the count of items- Mappings:
Namespace Name Mixin selector named setCount
Lnet/minecraft/item/ItemStack;setCount(I)V
intermediary method_7939
Lnet/minecraft/class_1799;method_7939(I)V
official e
Lcuq;e(I)V
-
capCount
public void capCount(int maxCount) Sets the count of items in this item stack to not exceedmaxCount
.- Mappings:
Namespace Name Mixin selector named capCount
Lnet/minecraft/item/ItemStack;capCount(I)V
intermediary method_58408
Lnet/minecraft/class_1799;method_58408(I)V
official f
Lcuq;f(I)V
-
increment
public void increment(int amount) Increments the count of items in this item stack.- Parameters:
amount
- the amount to increment- Mappings:
Namespace Name Mixin selector named increment
Lnet/minecraft/item/ItemStack;increment(I)V
intermediary method_7933
Lnet/minecraft/class_1799;method_7933(I)V
official g
Lcuq;g(I)V
-
decrement
public void decrement(int amount) Decrements the count of items in this item stack.- Parameters:
amount
- the amount to decrement- Mappings:
Namespace Name Mixin selector named decrement
Lnet/minecraft/item/ItemStack;decrement(I)V
intermediary method_7934
Lnet/minecraft/class_1799;method_7934(I)V
official h
Lcuq;h(I)V
-
decrementUnlessCreative
Decrements the count of items in this item stack, unlessentity
is a creative mode player.- Mappings:
Namespace Name Mixin selector named decrementUnlessCreative
Lnet/minecraft/item/ItemStack;decrementUnlessCreative(ILnet/minecraft/entity/LivingEntity;)V
intermediary method_57008
Lnet/minecraft/class_1799;method_57008(ILnet/minecraft/class_1309;)V
official a
Lcuq;a(ILbtq;)V
-
usageTick
- Mappings:
Namespace Name Mixin selector named usageTick
Lnet/minecraft/item/ItemStack;usageTick(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;I)V
intermediary method_7949
Lnet/minecraft/class_1799;method_7949(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;I)V
official b
Lcuq;b(Ldbz;Lbtq;I)V
-
onItemEntityDestroyed
- Mappings:
Namespace Name Mixin selector named onItemEntityDestroyed
Lnet/minecraft/item/ItemStack;onItemEntityDestroyed(Lnet/minecraft/entity/ItemEntity;)V
intermediary method_33262
Lnet/minecraft/class_1799;method_33262(Lnet/minecraft/class_1542;)V
official a
Lcuq;a(Lcji;)V
-
getDrinkSound
- Mappings:
Namespace Name Mixin selector named getDrinkSound
Lnet/minecraft/item/ItemStack;getDrinkSound()Lnet/minecraft/sound/SoundEvent;
intermediary method_21832
Lnet/minecraft/class_1799;method_21832()Lnet/minecraft/class_3414;
official J
Lcuq;J()Lavz;
-
getEatSound
- Mappings:
Namespace Name Mixin selector named getEatSound
Lnet/minecraft/item/ItemStack;getEatSound()Lnet/minecraft/sound/SoundEvent;
intermediary method_21833
Lnet/minecraft/class_1799;method_21833()Lnet/minecraft/class_3414;
official K
Lcuq;K()Lavz;
-
getBreakSound
- Mappings:
Namespace Name Mixin selector named getBreakSound
Lnet/minecraft/item/ItemStack;getBreakSound()Lnet/minecraft/sound/SoundEvent;
intermediary method_57351
Lnet/minecraft/class_1799;method_57351()Lnet/minecraft/class_3414;
official L
Lcuq;L()Lavz;
-
takesDamageFrom
- Mappings:
Namespace Name Mixin selector named takesDamageFrom
Lnet/minecraft/item/ItemStack;takesDamageFrom(Lnet/minecraft/entity/damage/DamageSource;)Z
intermediary method_58407
Lnet/minecraft/class_1799;method_58407(Lnet/minecraft/class_1282;)Z
official a
Lcuq;a(Lbro;)Z
-