CLASS net/minecraft/class_1799 net/minecraft/item/ItemStack
	COMMENT Represents a stack of items. This is a data container that holds the item count
	COMMENT and the stack's NBT. Logics for items (such as the action for using it) are delegated
	COMMENT to the stack's logic container, {@link Item}. Instances can be created using one of
	COMMENT the constructors and are usually stored in an {@link net.minecraft.inventory.Inventory}.
	COMMENT
	COMMENT <p>Item stacks should never be compared using {@code ==} operator or {@code equals}
	COMMENT method. This also means they cannot be used as a map key. To check if an item stack
	COMMENT is of a certain item, use {@link #isOf(Item)}. To compare two item stacks, use {@link
	COMMENT #areItemsEqual} to check the item only, or {@link #areEqual} to also check the item
	COMMENT count and the NBT. Use {@link #isEmpty} to check if an item stack is empty instead of
	COMMENT doing {@code stack == ItemStack.EMPTY}.
	COMMENT
	COMMENT <p>When storing an item stack in an inventory or other places, make sure that an instance
	COMMENT is never stored in multiple places. When two inventories hold the same instance, it
	COMMENT will duplicate the item stack (and become two instances) when one is saved and reloaded.
	COMMENT
	COMMENT <h2 id="nbt-operations">NBT operations</h2>
	COMMENT
	COMMENT <h3>NBT serialization</h3>
	COMMENT
	COMMENT An Item Stack can be serialized with {@link #writeNbt(NbtCompound)}, and deserialized with {@link #fromNbt(NbtCompound)}.
	COMMENT
	COMMENT <div class="fabric">
	COMMENT <table border=1>
	COMMENT <caption>Serialized NBT Structure</caption>
	COMMENT <tr>
	COMMENT   <th>Key</th><th>Type</th><th>Purpose</th>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>{@code id}</td><td>{@link net.minecraft.nbt.NbtString}</td><td>The identifier of the item.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>{@code Count}</td><td>{@link net.minecraft.nbt.NbtByte}</td><td>The count of items in the stack.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>{@code tag}</td><td>{@link NbtCompound}</td><td>The item stack's custom NBT.</td>
	COMMENT </tr>
	COMMENT </table>
	COMMENT </div>
	COMMENT
	COMMENT <h3>Custom NBT</h3>
	COMMENT
	COMMENT The item stack's custom NBT may be used to store extra information,
	COMMENT like the block entity data for shulker boxes,
	COMMENT or the damage of a damageable item, etc.
	COMMENT <p>
	COMMENT Various methods are available to interact with the custom NBT, some methods might refer to a "sub NBT",
	COMMENT a sub NBT is a child element of the custom NBT.
	COMMENT
	COMMENT <div class="fabric">
	COMMENT <table border=1>
	COMMENT <caption>Custom NBT operations</caption>
	COMMENT <tr>
	COMMENT   <th>Category</th><th>Method</th><th>Summary</th>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Custom NBT</td><td>{@link #hasNbt()}</td><td>Returns whether the item stack has custom NBT.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Custom NBT</td><td>{@link #getNbt()}</td><td>Returns the custom NBT of the item stack.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Custom NBT</td><td>{@link #getOrCreateNbt()}</td><td>Returns the custom NBT of the item stack, or creates one if absent, mutating the stack.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Custom NBT</td><td>{@link #setNbt(NbtCompound)}</td><td>Sets the custom NBT of the item stack.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Sub Custom NBT</td><td>{@link #getSubNbt(String)}</td><td>Returns the sub NBT compound at the specified key.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Sub Custom NBT</td><td>{@link #getOrCreateSubNbt(String)}</td><td>Returns the sub NBT compound at the specified key, or create one if absent, mutating the stack.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Sub Custom NBT</td><td>{@link #removeSubNbt(String)}</td><td>Removes the sub NBT element at the specified key.</td>
	COMMENT </tr>
	COMMENT <tr>
	COMMENT   <td>Sub Custom NBT</td><td>{@link #setSubNbt(String, NbtElement)}</td><td>Sets the sub NBT element at the specified key.</td>
	COMMENT </tr>
	COMMENT </table>
	COMMENT </div>
	FIELD field_24092 LORE_STYLE Lnet/minecraft/class_2583;
	FIELD field_24093 holder Lnet/minecraft/class_1297;
	FIELD field_24671 CODEC Lcom/mojang/serialization/Codec;
	FIELD field_30890 ENCHANTMENTS_KEY Ljava/lang/String;
		COMMENT The key of the enchantments in an item stack's custom NBT, whose value is {@value}.
	FIELD field_30893 DISPLAY_KEY Ljava/lang/String;
		COMMENT The key of the display NBT in an item stack's custom NBT, whose value is {@value}.
	FIELD field_30894 NAME_KEY Ljava/lang/String;
		COMMENT The key of the item stack's name in the {@linkplain #DISPLAY_KEY display NBT}, whose value is {@value}.
	FIELD field_30895 LORE_KEY Ljava/lang/String;
		COMMENT The key of the item stack's lore in the {@linkplain #DISPLAY_KEY display NBT}, whose value is {@value}.
	FIELD field_30896 DAMAGE_KEY Ljava/lang/String;
		COMMENT The key of the damage in an item stack's custom NBT, whose value is {@value}.
	FIELD field_30897 COLOR_KEY Ljava/lang/String;
		COMMENT The key of the item's color in the {@linkplain #DISPLAY_KEY display NBT}, whose value is {@value}.
	FIELD field_30898 UNBREAKABLE_KEY Ljava/lang/String;
		COMMENT The key of the unbreakable boolean in an item stack's custom NBT, whose value is {@value}.
	FIELD field_30899 REPAIR_COST_KEY Ljava/lang/String;
		COMMENT The key of the repair cost in an item stack's custom NBT, whose value is {@value}.
	FIELD field_30900 CAN_DESTROY_KEY Ljava/lang/String;
	FIELD field_30901 CAN_PLACE_ON_KEY Ljava/lang/String;
	FIELD field_30902 HIDE_FLAGS_KEY Ljava/lang/String;
	FIELD field_34453 destroyChecker Lnet/minecraft/class_6538;
	FIELD field_34454 placeChecker Lnet/minecraft/class_6538;
	FIELD field_40211 DISABLED_TEXT Lnet/minecraft/class_2561;
	FIELD field_8029 MODIFIER_FORMAT Ljava/text/DecimalFormat;
	FIELD field_8030 bobbingAnimationTime I
	FIELD field_8031 count I
	FIELD field_8033 LOGGER Lorg/slf4j/Logger;
	FIELD field_8036 empty Z
	FIELD field_8037 EMPTY Lnet/minecraft/class_1799;
		COMMENT The empty item stack that holds no item.
		COMMENT
		COMMENT <p>This should never be mutated.
		COMMENT
		COMMENT @see ItemStack#isEmpty
	FIELD field_8038 item Lnet/minecraft/class_1792;
	FIELD field_8040 nbt Lnet/minecraft/class_2487;
		COMMENT Represents the item stack's custom NBT.
		COMMENT <p>
		COMMENT Stored at the key {@code tag} in the serialized item stack NBT.
		COMMENT
		COMMENT @see <a href="nbt-operations">Item Stack NBT Operations</a>
	METHOD <init> (Lnet/minecraft/class_1935;)V
		ARG 1 item
	METHOD <init> (Lnet/minecraft/class_1935;I)V
		ARG 1 item
		ARG 2 count
	METHOD <init> (Lnet/minecraft/class_1935;ILjava/util/Optional;)V
		ARG 1 item
		ARG 2 count
		ARG 3 nbt
	METHOD <init> (Lnet/minecraft/class_2487;)V
		ARG 1 nbt
	METHOD <init> (Lnet/minecraft/class_6880;)V
		ARG 1 entry
	METHOD <init> (Lnet/minecraft/class_6880;I)V
		ARG 1 itemEntry
		ARG 2 count
	METHOD method_17869 (Ljava/util/List;Lnet/minecraft/class_2487;Lnet/minecraft/class_1887;)V
		ARG 2 e
	METHOD method_17870 appendEnchantments (Ljava/util/List;Lnet/minecraft/class_2499;)V
		ARG 0 tooltip
		ARG 1 enchantments
	METHOD method_19267 isFood ()Z
	METHOD method_21832 getDrinkSound ()Lnet/minecraft/class_3414;
	METHOD method_21833 getEatSound ()Lnet/minecraft/class_3414;
	METHOD method_26963 (Ljava/text/DecimalFormat;)V
		ARG 0 decimalFormat
	METHOD method_27319 getHolder ()Lnet/minecraft/class_1297;
		COMMENT {@return the entity that holds the stack, or {@code null} if inapplicable}
		COMMENT
		COMMENT @see #isInFrame
		COMMENT @see #getFrame
		COMMENT @see #setHolder
	METHOD method_27320 setHolder (Lnet/minecraft/class_1297;)V
		COMMENT Sets the stack's holder to {@code holder}.
		COMMENT
		COMMENT <p>This is used by item frames and item entities, and does not need to be called
		COMMENT for other entities.
		COMMENT
		COMMENT @see #isInFrame
		COMMENT @see #getFrame
		COMMENT @see #getHolder
		ARG 1 holder
	METHOD method_28376 (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;
		ARG 0 instance
	METHOD method_28377 (Lnet/minecraft/class_1799;)Ljava/util/Optional;
		ARG 0 stack
	METHOD method_28378 (Lnet/minecraft/class_1799;)Ljava/lang/Integer;
		ARG 0 stack
	METHOD method_28379 (Lnet/minecraft/class_1799;)Lnet/minecraft/class_1792;
		ARG 0 stack
	METHOD method_30266 getHideFlags ()I
	METHOD method_30267 isSectionVisible (ILnet/minecraft/class_1799$class_5422;)Z
		COMMENT Determines whether the given tooltip section will be visible according to the given flags.
		ARG 0 flags
		ARG 1 tooltipSection
	METHOD method_30268 addHideFlag (Lnet/minecraft/class_1799$class_5422;)V
		ARG 1 tooltipSection
	METHOD method_31572 getEquipSound ()Lnet/minecraft/class_3414;
	METHOD method_31573 isIn (Lnet/minecraft/class_6862;)Z
		COMMENT {@return whether the item is in {@code tag}}
		ARG 1 tag
	METHOD method_31574 isOf (Lnet/minecraft/class_1792;)Z
		COMMENT {@return whether the item is {@code item}}
		ARG 1 item
	METHOD method_31575 onStackClicked (Lnet/minecraft/class_1735;Lnet/minecraft/class_5536;Lnet/minecraft/class_1657;)Z
		ARG 1 slot
		ARG 2 clickType
		ARG 3 player
	METHOD method_31576 onClicked (Lnet/minecraft/class_1799;Lnet/minecraft/class_1735;Lnet/minecraft/class_5536;Lnet/minecraft/class_1657;Lnet/minecraft/class_5630;)Z
		ARG 1 stack
		ARG 2 slot
		ARG 3 clickType
		ARG 4 player
		ARG 5 cursorStackReference
	METHOD method_31577 canCombine (Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
		COMMENT {@return whether the given item stacks' items and NBT are equal}
		COMMENT
		COMMENT <p>If this returns {@code true}, the two item stacks can be combined into one,
		COMMENT as long as the resulting item count does not exceed {@linkplain Item#getMaxCount
		COMMENT the maximum item count}
		COMMENT
		COMMENT @see #areEqual
		COMMENT @see #areItemsEqual
		ARG 0 stack
		ARG 1 otherStack
	METHOD method_31578 isItemBarVisible ()Z
	METHOD method_31579 getItemBarStep ()I
		COMMENT {@return the length of the filled section of the durability bar in pixels (out of 13)}
	METHOD method_31580 getItemBarColor ()I
		COMMENT {@return the color of the filled section of the durability bar}
	METHOD method_32347 getTooltipData ()Ljava/util/Optional;
	METHOD method_33262 onItemEntityDestroyed (Lnet/minecraft/class_1542;)V
		ARG 1 entity
	METHOD method_40133 streamTags ()Ljava/util/stream/Stream;
		COMMENT {@return a stream of all tags the item is in}
		COMMENT
		COMMENT @see #isIn(TagKey)
	METHOD method_41406 itemMatches (Lnet/minecraft/class_6880;)Z
		COMMENT {@return whether the item's registry entry matches {@code itemEntry}}
		COMMENT
		COMMENT @see #itemMatches(Predicate)
		COMMENT @see #isOf(Item)
		ARG 1 itemEntry
	METHOD method_41407 itemMatches (Ljava/util/function/Predicate;)Z
		COMMENT {@return whether the item's registry entry passes the {@code predicate}}
		COMMENT
		COMMENT @see #itemMatches(RegistryEntry)
		COMMENT @see #isOf(Item)
		ARG 1 predicate
	METHOD method_41409 getRegistryEntry ()Lnet/minecraft/class_6880;
	METHOD method_45435 isItemEnabled (Lnet/minecraft/class_7699;)Z
		ARG 1 enabledFeatures
	METHOD method_46651 copyWithCount (I)Lnet/minecraft/class_1799;
		ARG 1 count
	METHOD method_7909 getItem ()Lnet/minecraft/class_1792;
		COMMENT {@return the item of this stack}
		COMMENT
		COMMENT @see #isOf(Item)
	METHOD method_7910 finishUsing (Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;)Lnet/minecraft/class_1799;
		ARG 1 world
		ARG 2 user
	METHOD method_7911 getOrCreateSubNbt (Ljava/lang/String;)Lnet/minecraft/class_2487;
		COMMENT {@return the compound NBT at the specified key in this item stack's NBT, or a
		COMMENT new compound added to the stack if absent}
		COMMENT
		COMMENT <p>This should not be used when reading the NBT, as this can modify the item stack.
		COMMENT Use {@link #getSubNbt} with a check for {@code null} instead.
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
		ARG 1 key
	METHOD method_7912 setBobbingAnimationTime (I)V
		ARG 1 bobbingAnimationTime
	METHOD method_7913 use (Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1271;
		ARG 1 world
		ARG 2 user
		ARG 3 hand
	METHOD method_7914 getMaxCount ()I
	METHOD method_7915 fromNbt (Lnet/minecraft/class_2487;)Lnet/minecraft/class_1799;
		COMMENT {@return the item stack deserialized from the NBT, or {@link #EMPTY} if
		COMMENT it fails to deserialize}
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
		ARG 0 nbt
	METHOD method_7916 addAttributeModifier (Lnet/minecraft/class_1320;Lnet/minecraft/class_1322;Lnet/minecraft/class_1304;)V
		COMMENT Adds an attribute modifier to this stack.
		COMMENT
		COMMENT @see #getAttributeModifiers
		ARG 1 attribute
		ARG 2 modifier
		ARG 3 slot
	METHOD method_7917 inventoryTick (Lnet/minecraft/class_1937;Lnet/minecraft/class_1297;IZ)V
		ARG 1 world
		ARG 2 entity
		ARG 3 slot
		ARG 4 selected
	METHOD method_7919 getDamage ()I
		COMMENT {@return the damage (lost durability) of the item stack}
		COMMENT
		COMMENT <p>The damage is stored in NBT under {@value #DAMAGE_KEY} key. Note that this method
		COMMENT does not check if the item is {@linkplain #isDamageable damageable}, unlike {@link
		COMMENT #isDamaged}.
		COMMENT
		COMMENT @see #isDamageable
		COMMENT @see #isDamaged
		COMMENT @see #setDamage
	METHOD method_7920 useOnEntity (Lnet/minecraft/class_1657;Lnet/minecraft/class_1309;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1269;
		ARG 1 user
		ARG 2 entity
		ARG 3 hand
	METHOD method_7921 getEnchantments ()Lnet/minecraft/class_2499;
		COMMENT {@return an NBT list of enchantments}
		COMMENT
		COMMENT <p>This will return an empty list for enchanted books, as the book itself is not
		COMMENT enchanted and therefore does not store enchantments under {@value #ENCHANTMENTS_KEY} key.
		COMMENT
		COMMENT @see net.minecraft.enchantment.EnchantmentHelper#getLevel
		COMMENT @see #addEnchantment
		COMMENT @see #hasEnchantments
	METHOD method_7922 getTranslationKey ()Ljava/lang/String;
	METHOD method_7923 isEnchantable ()Z
		COMMENT {@return whether this item stack can be enchanted with an enchanting table}
		COMMENT
		COMMENT <p>This is not used for other methods of enchanting like anvils.
	METHOD method_7924 getMiningSpeedMultiplier (Lnet/minecraft/class_2680;)F
		ARG 1 state
	METHOD method_7925 removeCustomName ()V
		COMMENT Removes the custom name and other NBT compounds that are now empty after the
		COMMENT removal of the custom name from this item stack.
		COMMENT
		COMMENT @see #setCustomName
		COMMENT @see #hasCustomName
	METHOD method_7926 getAttributeModifiers (Lnet/minecraft/class_1304;)Lcom/google/common/collect/Multimap;
		COMMENT {@return a multimap of attribute modifiers for {@code slot}}
		COMMENT
		COMMENT <p>If a custom attribute modifier exists under the {@code AttributeModifiers} key,
		COMMENT this returns those modifiers only; otherwise, this returns the item's default
		COMMENT attribute modifier.
		COMMENT
		COMMENT @see Item#getAttributeModifiers
		COMMENT @see #addAttributeModifier
		ARG 1 slot
	METHOD method_7927 setRepairCost (I)V
		COMMENT Sets the stack's repair cost used in anvils to {@code repairCost}.
		COMMENT
		COMMENT <p>This is the the value of the {@value #REPAIR_COST_KEY} key in NBT.
		ARG 1 repairCost
	METHOD method_7928 getRepairCost ()I
		COMMENT {@return the stack's repair cost used in anvils}
		COMMENT
		COMMENT <p>This is the the value of the {@value #REPAIR_COST_KEY} key in NBT.
	METHOD method_7929 isItemEqual (Lnet/minecraft/class_1799;)Z
		COMMENT {@return whether this stack and {@code stack} hold the same item}
		ARG 1 stack
	METHOD method_7930 onStoppedUsing (Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;I)V
		ARG 1 world
		ARG 2 user
		ARG 3 remainingUseTicks
	METHOD method_7932 getRarity ()Lnet/minecraft/class_1814;
	METHOD method_7933 increment (I)V
		COMMENT Increments the count of items in this item stack.
		ARG 1 amount
			COMMENT the amount to increment
	METHOD method_7934 decrement (I)V
		COMMENT Decrements the count of items in this item stack.
		ARG 1 amount
			COMMENT the amount to decrement
	METHOD method_7935 getMaxUseTime ()I
	METHOD method_7936 getMaxDamage ()I
	METHOD method_7937 parseBlockTag (Ljava/lang/String;)Ljava/util/Collection;
		ARG 0 tag
	METHOD method_7938 hasCustomName ()Z
		COMMENT {@return whether this item stack has a custom name}
		COMMENT
		COMMENT @see #setCustomName
		COMMENT @see #removeCustomName
	METHOD method_7939 setCount (I)V
		COMMENT Sets the count of items in this item stack.
		ARG 1 count
			COMMENT the count of items
	METHOD method_7940 canDestroy (Lnet/minecraft/class_2378;Lnet/minecraft/class_2694;)Z
		ARG 1 blockRegistry
		ARG 2 pos
	METHOD method_7941 getSubNbt (Ljava/lang/String;)Lnet/minecraft/class_2487;
		COMMENT {@return the NBT compound at the specified key in this item stack's custom NBT, may be {@code null}}
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
		ARG 1 key
	METHOD method_7942 hasEnchantments ()Z
		COMMENT {@return whether the item stack has any enchantments}
		COMMENT
		COMMENT <p>This will return {@code false} for enchanted books, as the book itself is not
		COMMENT enchanted and therefore does not store enchantments under {@value #ENCHANTMENTS_KEY} key.
		COMMENT
		COMMENT @see #getEnchantments
	METHOD method_7944 canPlaceOn (Lnet/minecraft/class_2378;Lnet/minecraft/class_2694;)Z
		ARG 1 blockRegistry
		ARG 2 pos
	METHOD method_7945 getFrame ()Lnet/minecraft/class_1533;
		COMMENT {@return the item frame that holds the stack, or {@code null} if inapplicable}
		COMMENT
		COMMENT @see #isInFrame
		COMMENT @see #setHolder
		COMMENT @see #getHolder
	METHOD method_7946 isStackable ()Z
		COMMENT {@return whether the item stack can have item count above {@code 1}}
		COMMENT
		COMMENT <p>Stackable items must have {@linkplain Item#getMaxCount the maximum count} that is more
		COMMENT than {@code 1} and cannot be damaged.
	METHOD method_7947 getCount ()I
		COMMENT {@return the count of items in this item stack}
	METHOD method_7948 getOrCreateNbt ()Lnet/minecraft/class_2487;
		COMMENT Returns the custom NBT of this item stack, or creates the custom NBT if the
		COMMENT item stack did not have a custom NBT previously, mutating the stack.
		COMMENT
		COMMENT <p>This should not be used when reading the NBT, as this can modify the item stack.
		COMMENT Use {@link #getNbt} with a check for {@code null} instead.
		COMMENT
		COMMENT @return the custom NBT of this item stack
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
	METHOD method_7949 usageTick (Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;I)V
		ARG 1 world
		ARG 2 user
		ARG 3 remainingUseTicks
	METHOD method_7950 getTooltip (Lnet/minecraft/class_1657;Lnet/minecraft/class_1836;)Ljava/util/List;
		ARG 1 player
		ARG 2 context
	METHOD method_7951 isSuitableFor (Lnet/minecraft/class_2680;)Z
		COMMENT Determines whether this item can be used as a suitable tool for mining the specified block.
		COMMENT <p>
		COMMENT Depending on block implementation, when combined together, the correct item and block may achieve a better mining speed and yield
		COMMENT drops that would not be obtained when mining otherwise.
		COMMENT
		COMMENT @return values consistent with calls to {@link Item#isSuitableFor}
		COMMENT @see Item#isSuitableFor(BlockState)
		ARG 1 state
	METHOD method_7952 postMine (Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;)V
		ARG 1 world
		ARG 2 state
		ARG 3 pos
		ARG 4 miner
	METHOD method_7953 writeNbt (Lnet/minecraft/class_2487;)Lnet/minecraft/class_2487;
		COMMENT Writes the serialized item stack into the given {@link NbtCompound}.
		COMMENT
		COMMENT @return the written NBT compound
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
		ARG 1 nbt
			COMMENT the NBT compound to write to
	METHOD method_7954 toHoverableText ()Lnet/minecraft/class_2561;
		COMMENT {@return a text consisting of the bracketed {@linkplain #getName stack name} that
		COMMENT can be hovered to show the item stack's tooltip}
	METHOD method_7956 damage (ILnet/minecraft/class_1309;Ljava/util/function/Consumer;)V
		COMMENT Damages this item stack. This method should be used when an entity, including a player,
		COMMENT damages the stack. This does not damage {@linkplain #isDamageable non-damageable}
		COMMENT stacks, and the {@linkplain net.minecraft.enchantment.UnbreakingEnchantment
		COMMENT unbreaking enchantment} is applied to {@code amount} before damaging. Additionally,
		COMMENT if {@code entity} is a player in creative mode, the stack will not be damaged.
		COMMENT
		COMMENT <p>If {@code entity} is a player, this triggers {@link
		COMMENT net.minecraft.advancement.criterion.Criteria#ITEM_DURABILITY_CHANGED}.
		COMMENT
		COMMENT <p>If the stack's damage is equal to or above {@linkplain Item#getMaxDamage the maximum
		COMMENT damage} (i.e. the item is "broken"), this will call {@code breakCallback}, decrement the
		COMMENT stack, and increment {@link net.minecraft.stat.Stats#BROKEN} if the stack is held
		COMMENT by a player. The callback should call {@link LivingEntity#sendEquipmentBreakStatus}
		COMMENT or {@link LivingEntity#sendToolBreakStatus}.
		ARG 1 amount
		ARG 2 entity
			COMMENT the entity that holds the stack to be damaged
		ARG 3 breakCallback
			COMMENT the callback that takes the entity holding the stack and is executed
			COMMENT when the item breaks
	METHOD method_7957 updateEmptyState ()V
	METHOD method_7958 hasGlint ()Z
	METHOD method_7959 setSubNbt (Ljava/lang/String;Lnet/minecraft/class_2520;)V
		COMMENT Sets the given NBT element in the item stack's custom NBT at the specified key.
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
		ARG 1 key
			COMMENT the key where to put the given {@link NbtElement}
		ARG 2 element
			COMMENT the NBT element to put
	METHOD method_7960 isEmpty ()Z
		COMMENT {@return whether this item stack is empty}
	METHOD method_7961 isInFrame ()Z
		COMMENT {@return whether the item stack is in an item frame}
		COMMENT
		COMMENT @see #setHolder
		COMMENT @see #getFrame
		COMMENT @see #getHolder
	METHOD method_7962 isItemEqualIgnoreDamage (Lnet/minecraft/class_1799;)Z
		ARG 1 stack
	METHOD method_7963 isDamageable ()Z
		COMMENT {@return whether the item can be damaged (lose durability)}
		COMMENT
		COMMENT <p>Items with {@linkplain Item#getMaxDamage 0 max damage} or item stacks with {@value
		COMMENT #UNBREAKABLE_KEY} NBT set to {@code 1b} cannot be damaged.
		COMMENT
		COMMENT @see Item#getMaxDamage
		COMMENT @see #isDamaged
		COMMENT @see #getDamage
	METHOD method_7964 getName ()Lnet/minecraft/class_2561;
		COMMENT {@return the custom name of the stack if it exists, or the item's name}
	METHOD method_7965 getBobbingAnimationTime ()I
	METHOD method_7966 (Lnet/minecraft/class_2583;)Lnet/minecraft/class_2583;
		ARG 1 style
	METHOD method_7967 isUsedOnRelease ()Z
	METHOD method_7968 isEqual (Lnet/minecraft/class_1799;)Z
		COMMENT {@return whether this stack and {@code stack} are equal, including the item count and NBT}
		ARG 1 stack
	METHOD method_7969 getNbt ()Lnet/minecraft/class_2487;
		COMMENT {@return the custom NBT of this item stack, may be {@code null}}
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
	METHOD method_7970 damage (ILnet/minecraft/class_5819;Lnet/minecraft/class_3222;)Z
		COMMENT Damages this item stack. This method should be used when a non-entity, such as a
		COMMENT dispenser, damages the stack. This does not damage {@linkplain #isDamageable non-damageable}
		COMMENT stacks, and the {@linkplain net.minecraft.enchantment.UnbreakingEnchantment
		COMMENT unbreaking enchantment} is applied to {@code amount} before damaging.
		COMMENT
		COMMENT <p>If {@code player} is not {@code null}, this triggers {@link
		COMMENT net.minecraft.advancement.criterion.Criteria#ITEM_DURABILITY_CHANGED}.
		COMMENT
		COMMENT <p>This method does not decrement the item count when the item "breaks". Callers should
		COMMENT check the returned value and decrement themselves.
		COMMENT
		COMMENT @return whether the stack's damage is equal to or above {@linkplain Item#getMaxDamage
		COMMENT the maximum damage} (i.e. whether the item is "broken")
		ARG 1 amount
		ARG 2 random
		ARG 3 player
			COMMENT the player that holds the stack to be damaged, or {@code null} if inapplicable
	METHOD method_7971 split (I)Lnet/minecraft/class_1799;
		COMMENT {@return the copy of the stack "split" from the current stack with item count
		COMMENT being at most {@code amount}}
		COMMENT
		COMMENT <p>Splitting an item stack mutates this stack so that the sum of the stacks' item
		COMMENT counts does not change. See the example below:
		COMMENT
		COMMENT <pre>{@code
		COMMENT ItemStack stack = new ItemStack(Items.APPLE, 64);
		COMMENT ItemStack newStack = stack.split(10);
		COMMENT // stack has 54 apples
		COMMENT // newStack has 10 apples
		COMMENT
		COMMENT ItemStack smallStack = new ItemStack(Items.APPLE, 4);
		COMMENT ItemStack newSmallStack = smallStack.split(10);
		COMMENT // smallStack is now empty
		COMMENT // newSmallStack has 4 apples
		COMMENT }</pre>
		ARG 1 amount
	METHOD method_7972 copy ()Lnet/minecraft/class_1799;
		COMMENT {@return a copy of this item stack, including the item count, NBT, and
		COMMENT {@linkplain #getBobbingAnimationTime bobbing animation time}}
	METHOD method_7973 areEqual (Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
		COMMENT {@return whether the given item stacks are equal, including the item count and NBT}
		COMMENT
		COMMENT @see #areItemsEqual
		COMMENT @see #canCombine
		ARG 0 left
		ARG 1 right
	METHOD method_7974 setDamage (I)V
		COMMENT Sets the stack's damage to {@code damage}.
		COMMENT
		COMMENT <p>This does not break the item if the damage reaches {@linkplain Item#getMaxDamage
		COMMENT the maximum}, unlike {@link #damage(int, LivingEntity, Consumer)}.
		COMMENT
		COMMENT @see #getDamage
		COMMENT @see #damage(int, Random, ServerPlayerEntity)
		COMMENT @see #damage(int, LivingEntity, Consumer)
		ARG 1 damage
	METHOD method_7975 areNbtEqual (Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
		COMMENT {@return whether the given item stacks have equivalent NBT data}
		ARG 0 left
		ARG 1 right
	METHOD method_7976 getUseAction ()Lnet/minecraft/class_1839;
	METHOD method_7977 setCustomName (Lnet/minecraft/class_2561;)Lnet/minecraft/class_1799;
		COMMENT Sets the custom name of this item stack to {@code name}. If {@code null} is
		COMMENT passed, this will remove the custom name (but does not remove other NBT compounds
		COMMENT even if they are empty).
		COMMENT
		COMMENT @return this item stack
		COMMENT
		COMMENT @see #removeCustomName
		COMMENT @see #hasCustomName
		ARG 1 name
	METHOD method_7978 addEnchantment (Lnet/minecraft/class_1887;I)V
		COMMENT Enchants this item with the given enchantment and level.
		COMMENT
		COMMENT <p>This should not be used with enchanted books, as the book itself is not
		COMMENT enchanted and therefore does not store enchantments under {@value #ENCHANTMENTS_KEY} key.
		COMMENT
		COMMENT @see net.minecraft.enchantment.EnchantmentHelper
		ARG 1 enchantment
		ARG 2 level
	METHOD method_7979 postHit (Lnet/minecraft/class_1309;Lnet/minecraft/class_1657;)V
		ARG 1 target
		ARG 2 attacker
	METHOD method_7980 setNbt (Lnet/minecraft/class_2487;)V
		COMMENT Sets the custom NBT of this item stack.
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
		ARG 1 nbt
			COMMENT the custom NBT compound, may be {@code null} to reset
	METHOD method_7981 useOnBlock (Lnet/minecraft/class_1838;)Lnet/minecraft/class_1269;
		ARG 1 context
	METHOD method_7982 onCraft (Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;I)V
		ARG 1 world
		ARG 2 player
		ARG 3 amount
	METHOD method_7983 removeSubNbt (Ljava/lang/String;)V
		COMMENT Removes the sub NBT element at the specified key in this item stack's custom NBT.
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
		ARG 1 key
	METHOD method_7984 areItemsEqualIgnoreDamage (Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
		ARG 0 left
		ARG 1 right
	METHOD method_7985 hasNbt ()Z
		COMMENT {@return whether this item stack has custom NBT}
		COMMENT
		COMMENT @see <a href="#nbt-operations">Item Stack NBT Operations</a>
	METHOD method_7986 isDamaged ()Z
		COMMENT {@return whether the item stack is {@linkplain #isDamageable damageable} and has damage}
		COMMENT
		COMMENT @see #isDamageable
		COMMENT @see #getDamage
	METHOD method_7987 areItemsEqual (Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
		COMMENT {@return whether the given item stacks' items are equal}
		COMMENT
		COMMENT @see #areEqual
		COMMENT @see #canCombine
		ARG 0 left
		ARG 1 right
	CLASS class_5422 TooltipSection
		FIELD field_25775 flag I
		METHOD method_30269 getFlag ()I
