IItemStack
This represents an item. It can be retrieved using an Item BEP. Is an IIngredient
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.
Implemented Interfaces
IItemStack implements the following interfaces. That means all methods defined in these interfaces are also available in IItemStack
Static Properties
Name | Type | Has Getter | Has Setter | Description |
---|---|---|---|---|
Name CRAFTTWEAKER_DATA_KEY | Type string | Has Getter true | Has Setter false | Description No Description Provided |
Casters
Result type | Is Implicit |
---|---|
Result type IData | Is Implicit true |
Result type IIngredientWithAmount | Is Implicit true |
Result type Ingredient | Is Implicit true |
Result type ItemStack | Is Implicit true |
Result type MapData | Is Implicit true |
Result type MCItemDefinition | Is Implicit true |
Result type MCWeightedItemStack | Is Implicit true |
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
Parameter | Type | Description |
---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. |
Parameter name | Type string | Description The name of the modifier. |
Parameter value | Type double | Description The value of the modifier. |
Parameter operation | Type AttributeOperation | Description The operation of the modifier. |
Parameter slotTypes | Type MCEquipmentSlotType[] | Description What 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
Parameter | Type | Description |
---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. |
Parameter uuid | Type string | Description The unique identifier of the modifier to replace. |
Parameter name | Type string | Description The name of the modifier. |
Parameter value | Type double | Description The value of the modifier. |
Parameter operation | Type AttributeOperation | Description The operation of the modifier. |
Parameter slotTypes | Type MCEquipmentSlotType[] | Description What slots the modifier is valid for. |
Return Type: void
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter content | Type MCTextComponent | Description No Description Provided | Optional false | DefaultValue |
Parameter showMessage | Type MCTextComponent | Description No Description Provided | Optional true | DefaultValue |
Return Type: void
Parameter | Type | Description |
---|---|---|
Parameter content | Type MCTextComponent | Description No Description Provided |
Return Type: MCIngredientConditioned<IIngredient>
Return Type: IIngredientWithAmount
Return Type: IItemStack
Create a Vanilla ingredient matching this one.
Return Type: Ingredient
Clears any custom name set for this ItemStack
Return Type: void
Return Type: void
Does the ingredient contain the given ingredient?
Return Type: boolean
Parameter | Type | Description |
---|---|---|
Parameter ingredient | Type IIngredient | Description The ingredient to check |
Creates a copy
Return Type: IItemStack
Gets the Attributes and the AttributeModifiers on this IItemStack for the given EquipmentSlotType
Returns: A Map of Attribute to a List of AttributeModifier for the given EquipmentSlotType.
Return Type: stdlib.List<AttributeModifier>[Attribute]
Parameter | Type | Description |
---|---|---|
Parameter slotType | Type MCEquipmentSlotType | Description The slot to get the Attributes for. |
Return Type: MCItemDefinition
Gets the level of the given enchantment on the item. Returns 0 if the item doesn’t have the given enchantment.
Return Type: int
Parameter | Type | Description |
---|---|---|
Parameter enchantment | Type MCEnchantment | Description No Description Provided |
Return Type: int?[MCEnchantment]
Return Type: ItemStack
Returns the max stack size of the Item in the ItemStack
Returns: Max stack size of the Item.
Return Type: int
Returns the rarity of the Item in the ItemStack
Returns: Rarity of the Item.
Return Type: Rarity
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
Parameter | Type | Description |
---|---|---|
Parameter stack | Type IItemStack | Description The 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
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter amount | Type int | Description The amount to grow by. | Optional true | DefaultValue 1 |
Return Type: boolean
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
Return Type: boolean
Does the given stack match the ingredient?
Return Type: boolean
Parameter | Type | Description |
---|---|---|
Parameter stack | Type IItemStack | Description The stack to check |
Return Type: void
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter shiftedFunction | Type ITooltipFunction | Description No Description Provided | Optional false | DefaultValue |
Parameter unshiftedFunction | Type ITooltipFunction | Description No Description Provided | Optional true | DefaultValue |
Return Type: void
Parameter | Type | Description |
---|---|---|
Parameter function | Type ITooltipFunction | Description No Description Provided |
Return Type: IItemStack
Use this if you already have the condition from another ingredient
Return Type: MCIngredientConditioned<IIngredient>
Parameter | Type | Description |
---|---|---|
Parameter condition | Type IIngredientCondition<IIngredient> | Description No Description Provided |
Return Type: MCIngredientConditioned<IIngredient>
Return Type: MCIngredientConditioned<IIngredient>
Parameter | Type | Description |
---|---|---|
Parameter minDamage | Type int | Description No Description Provided |
Return Type: MCIngredientConditioned<IIngredient>
Parameter | Type | Description |
---|---|---|
Parameter maxDamage | Type int | Description No Description Provided |
Return Type: MCIngredientConditioned<IIngredient>
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter uid | Type string | Description No Description Provided | Optional false | DefaultValue |
Parameter function | Type Predicate<IItemStack> | Description No Description Provided | Optional true | DefaultValue |
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
Parameter | Type | Description |
---|---|---|
Parameter enchantment | Type MCEnchantment | Description The 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
Parameter | Type | Description |
---|---|---|
Parameter attribute | Type Attribute | Description The attribute to remove. |
Parameter slotTypes | Type MCEquipmentSlotType[] | Description The 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
Parameter | Type | Description |
---|---|---|
Parameter uuid | Type string | Description The unique id of the AttributeModifier to remove. |
Parameter slotTypes | Type MCEquipmentSlotType[] | Description The slot types to remove it from. |
Return Type: void
Parameter | Type | Description |
---|---|---|
Parameter regex | Type string | Description No Description Provided |
Sets the display name of the ItemStack
Return Type: IItemStack
Parameter | Type | Description |
---|---|---|
Parameter name | Type string | Description New name of the stack. |
Sets the enchantments on this IItemStack.
Returns: This itemStack if it is mutable, a new one with the enchantments otherwise
Return Type: IItemStack
Parameter | Type | Description |
---|---|---|
Parameter enchantments | Type int?[MCEnchantment] | Description The 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
Parameter | Type | Description |
---|---|---|
Parameter immuneToFire | Type boolean | Description Should the item be immune to fire. |
Sets the max stacksize of the Item.
Return Type: void
Parameter | Type | Description |
---|---|---|
Parameter newMaxStackSize | Type int | Description The new max stack size of the Item. |
Sets the rarity of the Item.
Return Type: void
Parameter | Type | Description |
---|---|---|
Parameter newRarity | Type Rarity | Description The 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
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter amount | Type int | Description The amount to shrink by. | Optional true | DefaultValue 1 |
Return Type: MCWeightedItemStack
Parameter | Type | Description |
---|---|---|
Parameter weight | Type double | Description No 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
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. | Optional false | DefaultValue |
Parameter name | Type string | Description The name of the modifier. | Optional false | DefaultValue |
Parameter value | Type double | Description The value of the modifier. | Optional false | DefaultValue |
Parameter operation | Type AttributeOperation | Description The operation of the modifier. | Optional false | DefaultValue |
Parameter slotTypes | Type MCEquipmentSlotType[] | Description What slots the modifier is valid for. | Optional false | DefaultValue |
Parameter preserveDefaults | Type boolean | Description Should the default Item Attribute Modifiers be preserved when adding this modifier. | Optional true | DefaultValue false |
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
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. | Optional false | DefaultValue |
Parameter uuid | Type string | Description The unique identifier of the modifier to replace. | Optional false | DefaultValue |
Parameter name | Type string | Description The name of the modifier. | Optional false | DefaultValue |
Parameter value | Type double | Description The value of the modifier. | Optional false | DefaultValue |
Parameter operation | Type AttributeOperation | Description The operation of the modifier. | Optional false | DefaultValue |
Parameter slotTypes | Type MCEquipmentSlotType[] | Description What slots the modifier is valid for. | Optional false | DefaultValue |
Parameter preserveDefaults | Type boolean | Description Should the default Item Attribute Modifiers be preserved when adding this modifier. | Optional true | DefaultValue false |
Sets the damage of the ItemStack
Return Type: IItemStack
Parameter | Type | Description |
---|---|---|
Parameter damage | Type int | Description the new damage value |
Sets the display name of the ItemStack
Return Type: IItemStack
Parameter | Type | Description |
---|---|---|
Parameter text | Type MCTextComponent | Description New 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
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter enchantment | Type MCEnchantment | Description The enchantment to add. | Optional false | DefaultValue |
Parameter level | Type int | Description The level of the enchantment | Optional true | DefaultValue 1 |
Sets the tag for the ItemStack.
Returns: This itemStack if it is mutable, a new one with the changed property otherwise
Return Type: IItemStack
Parameter | Type | Description |
---|---|---|
Parameter tag | Type IData | Description The 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
Operators
Does the ingredient contain the given ingredient?
Sets the amount of the ItemStack
Properties
Name | Type | Has Getter | Has Setter | Description |
---|---|---|---|---|
Name amount | Type int | Has Getter true | Has Setter false | Description Gets the amount of Items in the ItemStack |
Name burnTime | Type int | Has Getter true | Has Setter true | Description No Description Provided |
Name commandString | Type string | Has Getter true | Has Setter false | Description Returns the BEP to get this stack |
Name damage | Type int | Has Getter true | Has Setter false | Description No Description Provided |
Name damageable | Type boolean | Has Getter true | Has Setter false | Description Returns if the ItemStack is damageable I.E Swords and tools are damageable, sticks are not. |
Name damaged | Type boolean | Has Getter true | Has Setter false | Description Returns if the ItemStack is damaged I.E a Swords that is no at full durability is damaged. |
Name definition | Type MCItemDefinition | Has Getter true | Has Setter false | Description No Description Provided |
Name displayName | Type string | Has Getter true | Has Setter false | Description Gets the display name of the ItemStack |
Name empty | Type boolean | Has Getter true | Has Setter false | Description Returns if the ItemStack is empty |
Name enchantments | Type int?[MCEnchantment] | Has Getter true | Has Setter true | Description No Description Provided |
Name food | Type MCFood? | Has Getter true | Has Setter true | Description No Description Provided |
Name getOrCreate | Type IData | Has Getter true | Has Setter false | Description Returns the NBT tag attached to this ItemStack or makes a new tag. |
Name getRepairCost | Type int | Has Getter true | Has Setter false | Description Gets the repair cost of the ItemStack, or 0 if no repair is defined. |
Name hasDisplayName | Type boolean | Has Getter true | Has Setter false | Description Returns true if the ItemStack has a display name. |
Name hasEffect | Type boolean | Has Getter true | Has Setter false | Description Returns true if this ItemStack has an effect. |
Name hasTag | Type boolean | Has Getter true | Has Setter false | Description Returns true if this ItemStack has a Tag |
Name immuneToFire | Type void | Has Getter true | Has Setter true | Description Sets if this IItemStack is immune to fire / lava. If true, the item will not burn when thrown into fire or lava. |
Name isCrossbow | Type boolean | Has Getter true | Has Setter false | Description Returns true if this stack is considered a crossbow item |
Name isEnchantable | Type boolean | Has Getter true | Has Setter false | Description Can this ItemStack be enchanted? |
Name isEnchanted | Type boolean | Has Getter true | Has Setter false | Description Is this ItemStack enchanted? |
Name isImmutable | Type boolean | Has Getter true | Has Setter false | Description No Description Provided |
Name items | Type IItemStack[] | Has Getter true | Has Setter false | Description No Description Provided |
Name maxDamage | Type int | Has Getter true | Has Setter true | Description Returns the max damage of the ItemStack This is the max durability of the ItemStack. |
Name maxStackSize | Type int | Has Getter true | Has Setter true | Description Returns the max stack size of the Item in the ItemStack |
Name owner | Type string | Has Getter true | Has Setter false | Description Gets owning mod for the Item in this IItemStack |
Name rarity | Type Rarity | Has Getter true | Has Setter true | Description Returns the rarity of the Item in the ItemStack |
Name registryName | Type MCResourceLocation | Has Getter true | Has Setter false | Description Gets the registry name for the Item in this IItemStack |
Name stackable | Type boolean | Has Getter true | Has Setter false | Description Returns if the ItemStack can have an amount greater than 1 I.E Swords and tools are not stackable, sticks are. |
Name tag | Type IData | Has Getter true | Has Setter false | Description Returns the NBT tag attached to this ItemStack. |
Name toolTypes | Type ToolType[] | Has Getter true | Has Setter false | Description No Description Provided |
Name translationKey | Type string | Has Getter true | Has Setter false | Description Returns the unlocalized Name of the Item in the ItemStack |
Name useDuration | Type int | Has Getter true | Has Setter false | Description Gets the use duration of the ItemStack |