MCItemStack
Importing the class
It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.
import crafttweaker.api.item.MCItemStack;Implemented Interfaces
MCItemStack implements the following interfaces. That means all methods defined in these interfaces are also available in MCItemStack
Static Properties
| Name | Type | Has Getter | Has Setter | Description | 
|---|---|---|---|---|
| NameCRAFTTWEAKER_DATA_KEY | Typestring | Has Gettertrue | Has Setterfalse | DescriptionNo Description Provided | 
Casters
| Result type | Is Implicit | 
|---|---|
| Result typeIData | Is Implicittrue | 
| Result typeIIngredientWithAmount | Is Implicittrue | 
| Result typeItemDefinition | Is Implicittrue | 
| Result typeMapData | Is Implicittrue | 
| Result typePercentaged<IItemStack> | Is Implicittrue | 
Methods
Adds an AttributeModifier to this IIngredient.
Attributes added with this method appear on all ItemStacks that match this IIngredient, regardless of how or when the ItemStack was made, if you want to have the attribute on a single specific ItemStack (such as a specific Diamond Sword made in a recipe), then you should use IItemStack#withAttributeModifier
Return Type: void
// MCItemStack.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[]) as void
myMCItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslot:chest>]);| Parameter | Type | Description | 
|---|---|---|
| Parameterattribute | TypeAttribute | DescriptionThe Attribute of the modifier. | 
| Parametername | Typestring | DescriptionThe name of the modifier. | 
| Parametervalue | Typedouble | DescriptionThe value of the modifier. | 
| Parameteroperation | TypeAttributeOperation | DescriptionThe operation of the modifier. | 
| ParameterslotTypes | TypeEquipmentSlot[] | DescriptionWhat slots the modifier is valid for. | 
Adds an AttributeModifier to this IIngredient using a specific UUID.
The UUID can be used to override an existing attribute on an ItemStack with this new modifier.
You can use /ct hand attributes to get the UUID of the attributes on an ItemStack.
Attributes added with this method appear on all ItemStacks that match this IIngredient, regardless of how or when the ItemStack was made, if you want to have the attribute on a single specific ItemStack (such as a specific Diamond Sword made in a recipe), then you should use IItemStack#withAttributeModifier
Return Type: void
// MCItemStack.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[]) as void
myMCItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslot:chest>]);| Parameter | Type | Description | 
|---|---|---|
| Parameterattribute | TypeAttribute | DescriptionThe Attribute of the modifier. | 
| Parameteruuid | Typestring | DescriptionThe unique identifier of the modifier to replace. | 
| Parametername | Typestring | DescriptionThe name of the modifier. | 
| Parametervalue | Typedouble | DescriptionThe value of the modifier. | 
| Parameteroperation | TypeAttributeOperation | DescriptionThe operation of the modifier. | 
| ParameterslotTypes | TypeEquipmentSlot[] | DescriptionWhat slots the modifier is valid for. | 
Return Type: void
MCItemStack.addShiftTooltip(content as Component, showMessage as Component) as void| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parametercontent | TypeComponent | DescriptionNo Description Provided | Optionalfalse | DefaultValue | 
| ParametershowMessage | TypeComponent | DescriptionNo Description Provided | Optionaltrue | DefaultValue | 
Return Type: void
MCItemStack.addTooltip(content as Component) as void| Parameter | Type | Description | 
|---|---|---|
| Parametercontent | TypeComponent | DescriptionNo Description Provided | 
Return Type: IngredientConditioned<IIngredient>
// MCItemStack.anyDamage() as IngredientConditioned<IIngredient>
myMCItemStack.anyDamage();Return Type: IIngredientWithAmount
// MCItemStack.asIIngredientWithAmount() as IIngredientWithAmount
myMCItemStack.asIIngredientWithAmount();Return Type: void
// MCItemStack.clearTooltip() as void
myMCItemStack.clearTooltip();Does the ingredient contain the given ingredient?
Return Type: boolean
// MCItemStack.contains(ingredient as IIngredient) as boolean
myMCItemStack.contains((<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>));| Parameter | Type | Description | 
|---|---|---|
| Parameteringredient | TypeIIngredient | DescriptionThe ingredient to check | 
Gets the Attributes and the AttributeModifiers on this IItemStack for the given EquipmentSlot
Returns: A Map of Attribute to a List of AttributeModifier for the given EquipmentSlot.
Return Type: stdlib.List<AttributeModifier>[Attribute]
// MCItemStack.getAttributes(slotType as EquipmentSlot) as stdlib.List<AttributeModifier>[Attribute]
myMCItemStack.getAttributes(<equipmentslot:chest>);| Parameter | Type | Description | 
|---|---|---|
| ParameterslotType | TypeEquipmentSlot | DescriptionThe slot to get the Attributes for. | 
Return Type: ItemDefinition
// MCItemStack.getDefinition() as ItemDefinition
myMCItemStack.getDefinition();Gets the level of the given enchantment on the item. Returns 0 if the item doesn’t have the given enchantment.
Return Type: int
MCItemStack.getEnchantmentLevel(enchantment as Enchantment) as int| Parameter | Type | Description | 
|---|---|---|
| Parameterenchantment | TypeEnchantment | DescriptionNo Description Provided | 
Return Type: int?[Enchantment]
// MCItemStack.getEnchantments() as int?[Enchantment]
myMCItemStack.getEnchantments();Return Type: ItemStack
// MCItemStack.getImmutableInternal() as ItemStack
myMCItemStack.getImmutableInternal();Returns the max stack size of the Item in the ItemStack
Returns: Max stack size of the Item.
Return Type: int
// MCItemStack.getMaxStackSize() as int
myMCItemStack.getMaxStackSize();Returns the rarity of the Item in the ItemStack
Returns: Rarity of the Item.
Return Type: Rarity
// MCItemStack.getRarity() as Rarity
myMCItemStack.getRarity();When this ingredient stack is crafted, what will remain in the grid? Does not check if the stack matches though! Used e.g. in Crafting Table recipes.
Return Type: IItemStack
// MCItemStack.getRemainingItem(stack as IItemStack) as IItemStack
myMCItemStack.getRemainingItem(<item:minecraft:iron_ingot>);| Parameter | Type | Description | 
|---|---|---|
| Parameterstack | TypeIItemStack | DescriptionThe stack to provide for this ingredient. | 
Grows this IItemStack’s stack size by the given amount, or 1 if no amount is given.
Returns: This IItemStack if mutable, a new one with the new amount otherwise.
Return Type: IItemStack
// MCItemStack.grow(amount as int) as IItemStack
myMCItemStack.grow(2);| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameteramount | Typeint | DescriptionThe amount to grow by. | Optionaltrue | DefaultValue1 | 
Return Type: boolean
// MCItemStack.isEdible() as boolean
myMCItemStack.isEdible();Checks if this IItemStack burns when thrown into fire / lava or damaged by fire.
Returns: True if this IItemStack is immune to fire. False otherwise.
Return Type: boolean
// MCItemStack.isFireResistant() as boolean
myMCItemStack.isFireResistant();Return Type: boolean
// MCItemStack.isMutable() as boolean
myMCItemStack.isMutable();Does the given stack match the ingredient?
Return Type: boolean
// MCItemStack.matches(stack as IItemStack) as boolean
myMCItemStack.matches(<item:minecraft:iron_ingot>);| Parameter | Type | Description | 
|---|---|---|
| Parameterstack | TypeIItemStack | DescriptionThe stack to check | 
Return Type: void
MCItemStack.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction) as void| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| ParametershiftedFunction | TypeITooltipFunction | DescriptionNo Description Provided | Optionalfalse | DefaultValue | 
| ParameterunshiftedFunction | TypeITooltipFunction | DescriptionNo Description Provided | Optionaltrue | DefaultValue | 
Return Type: void
MCItemStack.modifyTooltip(function as ITooltipFunction) as void| Parameter | Type | Description | 
|---|---|---|
| Parameterfunction | TypeITooltipFunction | DescriptionNo Description Provided | 
Use this in contexts where machines accept more than one item to state that fact.
Return Type: IIngredientWithAmount
MCItemStack.mul(amount as int) as IIngredientWithAmount| Parameter | Type | Description | 
|---|---|---|
| Parameteramount | Typeint | DescriptionNo Description Provided | 
Use this if you already have the condition from another ingredient
Return Type: IngredientConditioned<IIngredient>
MCItemStack.only(condition as IIngredientCondition<IIngredient>) as IngredientConditioned<IIngredient>| Parameter | Type | Description | 
|---|---|---|
| Parametercondition | TypeIIngredientCondition<IIngredient> | DescriptionNo Description Provided | 
Return Type: IngredientConditioned<IIngredient>
// MCItemStack.onlyDamaged() as IngredientConditioned<IIngredient>
myMCItemStack.onlyDamaged();Return Type: IngredientConditioned<IIngredient>
MCItemStack.onlyDamagedAtLeast(minDamage as int) as IngredientConditioned<IIngredient>| Parameter | Type | Description | 
|---|---|---|
| ParameterminDamage | Typeint | DescriptionNo Description Provided | 
Return Type: IngredientConditioned<IIngredient>
MCItemStack.onlyDamagedAtMost(maxDamage as int) as IngredientConditioned<IIngredient>| Parameter | Type | Description | 
|---|---|---|
| ParametermaxDamage | Typeint | DescriptionNo Description Provided | 
Return Type: IngredientConditioned<IIngredient>
MCItemStack.onlyIf(uid as string, function as Predicate<IItemStack>) as IngredientConditioned<IIngredient>| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameteruid | Typestring | DescriptionNo Description Provided | Optionalfalse | DefaultValue | 
| Parameterfunction | TypePredicate<IItemStack> | DescriptionNo Description Provided | Optionaltrue | DefaultValue | 
Return Type: Percentaged<IItemStack>
MCItemStack.percent(percentage as double) as Percentaged<IItemStack>| Parameter | Type | Description | 
|---|---|---|
| Parameterpercentage | Typedouble | DescriptionNo Description Provided | 
Removes the given enchantment from this IItemStack.
Returns: This itemStack if it is mutable, a new one with the enchantment removed otherwise
Return Type: IItemStack
// MCItemStack.removeEnchantment(enchantment as Enchantment) as IItemStack
myMCItemStack.removeEnchantment(<enchantment:minecraft:riptide>);| Parameter | Type | Description | 
|---|---|---|
| Parameterenchantment | TypeEnchantment | DescriptionThe enchantment to remove. | 
Removes all AttributeModifiers that use the given Attribute from this IIngredient.
Attributes removed with this method are removed from ItemStacks that match this IIngredient, regardless of how or when the ItemStack was made, if you want to remove the attribute on a single specific ItemStack (such as a specific Diamond Sword made in a recipe), then you should use IItemStack#withoutAttribute.
This method can only remove default Attributes from an ItemStack, it is still possible that an ItemStack can override it.
Return Type: void
// MCItemStack.removeGlobalAttribute(attribute as Attribute, slotTypes as EquipmentSlot[]) as void
myMCItemStack.removeGlobalAttribute(<attribute:minecraft:generic.attack_damage>, [<equipmentslot:chest>]);| Parameter | Type | Description | 
|---|---|---|
| Parameterattribute | TypeAttribute | DescriptionThe attribute to remove. | 
| ParameterslotTypes | TypeEquipmentSlot[] | DescriptionThe slot types to remove it from. | 
Removes all AttributeModifiers who’s ID is the same as the given uuid from this IIngredient.
Return Type: void
// MCItemStack.removeGlobalAttributeModifier(uuid as string, slotTypes as EquipmentSlot[]) as void
myMCItemStack.removeGlobalAttributeModifier("8c1b5535-9f79-448b-87ae-52d81480aaa3", [<equipmentslot:chest>]);| Parameter | Type | Description | 
|---|---|---|
| Parameteruuid | Typestring | DescriptionThe unique id of the AttributeModifier to remove. | 
| ParameterslotTypes | TypeEquipmentSlot[] | DescriptionThe slot types to remove it from. | 
Return Type: void
MCItemStack.removeTooltip(regex as string) as void| Parameter | Type | Description | 
|---|---|---|
| Parameterregex | Typestring | DescriptionNo Description Provided | 
Clears any custom name set for this ItemStack
Return Type: void
// MCItemStack.resetHoverName() as void
myMCItemStack.resetHoverName();Return Type: IIngredientTransformed<IIngredient>
// MCItemStack.reuse() as IIngredientTransformed<IIngredient>
myMCItemStack.reuse();Sets the enchantments on this IItemStack.
Returns: This itemStack if it is mutable, a new one with the enchantments otherwise
Return Type: IItemStack
MCItemStack.setEnchantments(enchantments as int?[Enchantment]) as IItemStack| Parameter | Type | Description | 
|---|---|---|
| Parameterenchantments | Typeint?[Enchantment] | DescriptionThe new enchantments | 
Sets if this IItemStack is immune to fire / lava.
If true, the item will not burn when thrown into fire or lava.
Return Type: void
MCItemStack.setFireResistant(fireResistant as boolean) as void| Parameter | Type | Description | 
|---|---|---|
| ParameterfireResistant | Typeboolean | DescriptionShould the item be immune to fire. | 
Sets the max stacksize of the Item.
Return Type: void
// MCItemStack.setMaxStackSize(newMaxStackSize as int) as void
myMCItemStack.setMaxStackSize(16);| Parameter | Type | Description | 
|---|---|---|
| ParameternewMaxStackSize | Typeint | DescriptionThe new max stack size of the Item. | 
Sets the rarity of the Item.
Return Type: void
// MCItemStack.setRarity(newRarity as Rarity) as void
myMCItemStack.setRarity(Rarity.UNCOMMON);| Parameter | Type | Description | 
|---|---|---|
| ParameternewRarity | TypeRarity | DescriptionThe new rarity of the Item. | 
Shrinks this IItemStack’s stack size by the given amount, or 1 if no amount is given.
Returns: This IItemStack if mutable, a new one with the new amount otherwise.
Return Type: IItemStack
// MCItemStack.shrink(amount as int) as IItemStack
myMCItemStack.shrink(2);| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameteramount | Typeint | DescriptionThe amount to shrink by. | Optionaltrue | DefaultValue1 | 
Use this if you already have the transformer from another ingredient
Return Type: IIngredientTransformed<IIngredient>
MCItemStack.transform(transformer as IIngredientTransformer<IIngredient>) as IIngredientTransformed<IIngredient>| Parameter | Type | Description | 
|---|---|---|
| Parametertransformer | TypeIIngredientTransformer<IIngredient> | DescriptionNo Description Provided | 
Return Type: IIngredientTransformed<IIngredient>
MCItemStack.transformCustom(uid as string, function as Function<IItemStack,IItemStack>) as IIngredientTransformed<IIngredient>| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameteruid | Typestring | DescriptionNo Description Provided | Optionalfalse | DefaultValue | 
| Parameterfunction | TypeFunction<IItemStack,IItemStack> | DescriptionNo Description Provided | Optionaltrue | DefaultValue | 
Return Type: IIngredientTransformed<IIngredient>
MCItemStack.transformDamage(amount as int) as IIngredientTransformed<IIngredient>| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameteramount | Typeint | DescriptionNo Description Provided | Optionaltrue | DefaultValue1 | 
Return Type: IIngredientTransformed<IIngredient>
MCItemStack.transformReplace(replaceWith as IItemStack) as IIngredientTransformed<IIngredient>| Parameter | Type | Description | 
|---|---|---|
| ParameterreplaceWith | TypeIItemStack | DescriptionNo Description Provided | 
Adds an AttributeModifier to this IItemStack.
The UUID can be used to override an existing attribute on an ItemStack with this new modifier.
You can use /ct hand attributes to get the UUID of the attributes on an ItemStack.
Attributes added with this method will only appear on this specific IItemStack.
By defaults, adding a modifier will remove the default Attribute Modifiers on the Item, like the Diamond Chestplate’s Armor and Toughness values.
When preserveDefaults is set to true (by default it is false.), the default Attribute Modifiers will be preserved when adding this modifier.
This means that if you were adding the forge:nametag_distance attribute to an Item, it would keep its default attributes (like Armor and Toughness values).
Return Type: IItemStack
// MCItemStack.withAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack
myMCItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslot:chest>], true);| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameterattribute | TypeAttribute | DescriptionThe Attribute of the modifier. | Optionalfalse | DefaultValue | 
| Parametername | Typestring | DescriptionThe name of the modifier. | Optionalfalse | DefaultValue | 
| Parametervalue | Typedouble | DescriptionThe value of the modifier. | Optionalfalse | DefaultValue | 
| Parameteroperation | TypeAttributeOperation | DescriptionThe operation of the modifier. | Optionalfalse | DefaultValue | 
| ParameterslotTypes | TypeEquipmentSlot[] | DescriptionWhat slots the modifier is valid for. | Optionalfalse | DefaultValue | 
| ParameterpreserveDefaults | Typeboolean | DescriptionShould the default Item Attribute Modifiers be preserved when adding this modifier. | Optionaltrue | DefaultValuefalse | 
Adds an AttributeModifier to this IItemStack using a specific UUID.
The UUID can be used to override an existing attribute on an ItemStack with this new modifier.
You can use /ct hand attributes to get the UUID of the attributes on an ItemStack.
Attributes added with this method will only appear on this specific IItemStack.
By defaults, adding a modifier will remove the default Attribute Modifiers on the Item, like the Diamond Chestplate’s Armor and Toughness values.
When preserveDefaults is set to true (by default it is false.), the default Attribute Modifiers will be preserved when adding this modifier.
This means that if you were adding the forge:nametag_distance attribute to an Item, it would keep its default attributes (like Armor and Toughness values).
Return Type: IItemStack
// MCItemStack.withAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack
myMCItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslot:chest>], true);| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameterattribute | TypeAttribute | DescriptionThe Attribute of the modifier. | Optionalfalse | DefaultValue | 
| Parameteruuid | Typestring | DescriptionThe unique identifier of the modifier to replace. | Optionalfalse | DefaultValue | 
| Parametername | Typestring | DescriptionThe name of the modifier. | Optionalfalse | DefaultValue | 
| Parametervalue | Typedouble | DescriptionThe value of the modifier. | Optionalfalse | DefaultValue | 
| Parameteroperation | TypeAttributeOperation | DescriptionThe operation of the modifier. | Optionalfalse | DefaultValue | 
| ParameterslotTypes | TypeEquipmentSlot[] | DescriptionWhat slots the modifier is valid for. | Optionalfalse | DefaultValue | 
| ParameterpreserveDefaults | Typeboolean | DescriptionShould the default Item Attribute Modifiers be preserved when adding this modifier. | Optionaltrue | DefaultValuefalse | 
Sets the damage of the ItemStack
Return Type: IItemStack
// MCItemStack.withDamage(damage as int) as IItemStack
myMCItemStack.withDamage(10);| Parameter | Type | Description | 
|---|---|---|
| Parameterdamage | Typeint | Descriptionthe new damage value | 
Sets the display name of the ItemStack
Return Type: IItemStack
MCItemStack.withDisplayName(text as Component) as IItemStack| Parameter | Type | Description | 
|---|---|---|
| Parametertext | TypeComponent | DescriptionNew name of the stack. | 
Enchants this IItemStack with the given Enchantment.
Returns: This itemStack if it is mutable, a new one with the enchantment added otherwise
Return Type: IItemStack
// MCItemStack.withEnchantment(enchantment as Enchantment, level as int) as IItemStack
myMCItemStack.withEnchantment(<enchantment:minecraft:riptide>, 2);| Parameter | Type | Description | Optional | DefaultValue | 
|---|---|---|---|---|
| Parameterenchantment | TypeEnchantment | DescriptionThe enchantment to add. | Optionalfalse | DefaultValue | 
| Parameterlevel | Typeint | DescriptionThe level of the enchantment | Optionaltrue | DefaultValue1 | 
Sets the tag for the ItemStack.
Returns: This itemStack if it is mutable, a new one with the changed property otherwise
Return Type: IItemStack
// MCItemStack.withTag(tag as MapData) as IItemStack
myMCItemStack.withTag({Display: {lore: ["Hello"]}});| Parameter | Type | Description | 
|---|---|---|
| Parametertag | TypeMapData | DescriptionThe tag to set. | 
Removes the tag from this ItemStack.
Returns: This itemStack if it is mutable, a new one with the changed property otherwise
Return Type: IItemStack
// MCItemStack.withoutTag() as IItemStack
myMCItemStack.withoutTag();Operators
Does the ingredient contain the given ingredient?
ingredient as IIngredient in myMCItemStack(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in myMCItemStackmyMCItemStack == o as ObjectmyMCItemStack % percentage as doubleUse this in contexts where machines accept more than one item to state that fact.
myMCItemStack * amount as intmyMCItemStack | other as IIngredientProperties
| Name | Type | Has Getter | Has Setter | Description | 
|---|---|---|---|---|
| Nameamount | Typeint | Has Gettertrue | Has Setterfalse | DescriptionGets the amount of Items in the ItemStack | 
| NameburnTime | Typevoid | Has Getterfalse | Has Settertrue | DescriptionSets the burn time of this ingredient, for use in the furnace and other machines | 
| Namedamage | Typeint | Has Gettertrue | Has Setterfalse | DescriptionNo Description Provided | 
| NamedamageableItem | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns if the ItemStack is damageable I.E Swords and tools are damageable, sticks are not. | 
| Namedamaged | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns if the ItemStack is damaged I.E a Swords that is no at full durability is damaged. | 
| Namedefinition | TypeItemDefinition | Has Gettertrue | Has Setterfalse | DescriptionNo Description Provided | 
| NamedescriptionId | Typestring | Has Gettertrue | Has Setterfalse | DescriptionReturns the unlocalized Name of the Item in the ItemStack | 
| NamedisplayName | TypeComponent | Has Gettertrue | Has Setterfalse | DescriptionGets the display name of the ItemStack | 
| Nameempty | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns if the ItemStack is empty | 
| Nameenchantments | Typeint?[Enchantment] | Has Gettertrue | Has Settertrue | DescriptionNo Description Provided | 
| NamefireResistant | Typevoid | Has Gettertrue | Has Settertrue | DescriptionSets if this IItemStack is immune to fire / lava. If true, the item will not burn when thrown into fire or lava. | 
| Namefood | TypeFoodProperties | Has Gettertrue | Has Settertrue | DescriptionNo Description Provided | 
| NamegetBaseRepairCost | Typeint | Has Gettertrue | Has Setterfalse | DescriptionGets the base repair cost of the ItemStack, or 0 if no repair is defined. | 
| NamegetOrCreate | TypeMapData | Has Gettertrue | Has Setterfalse | DescriptionReturns the NBT tag attached to this ItemStack or makes a new tag. | 
| NamehasCustomHoverName | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns true if the ItemStack has a display name. | 
| NamehasFoil | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns true if this ItemStack has a foil effect. Foil is the glint / effect that is added to enchanted ItemStacks (and other items). | 
| NamehasTag | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns true if this ItemStack has a Tag | 
| NameisEnchantable | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionCan this ItemStack be enchanted? | 
| NameisEnchanted | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionIs this ItemStack enchanted? | 
| NameisMutable | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionNo Description Provided | 
| NamemaxDamage | Typeint | Has Gettertrue | Has Settertrue | DescriptionReturns the max damage of the ItemStack This is the max durability of the ItemStack. | 
| NamemaxStackSize | Typeint | Has Gettertrue | Has Settertrue | DescriptionReturns the max stack size of the Item in the ItemStack | 
| Nameowner | Typestring | Has Gettertrue | Has Setterfalse | DescriptionGets owning mod for the Item in this IItemStack | 
| Namerarity | TypeRarity | Has Gettertrue | Has Settertrue | DescriptionReturns the rarity of the Item in the ItemStack | 
| NameregistryName | TypeResourceLocation | Has Gettertrue | Has Setterfalse | DescriptionGets the registry name for the Item in this IItemStack | 
| Namestackable | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns if the ItemStack can have an amount greater than 1 I.E Swords and tools are not stackable, sticks are. | 
| Nametag | TypeMapData | Has Gettertrue | Has Setterfalse | DescriptionReturns the NBT tag attached to this ItemStack. | 
| NameuseDuration | Typeint | Has Gettertrue | Has Setterfalse | DescriptionGets the use duration of the ItemStack | 
| NameuseOnRelease | Typeboolean | Has Gettertrue | Has Setterfalse | DescriptionReturns true if this stack is considered a crossbow item |