ForgeItemStack
Link to forgeitemstack
Importing the class
Link to 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.
ZenScript Copyimport crafttweaker.api.item.ForgeItemStack;
Implemented Interfaces
Link to implemented-interfaces
ForgeItemStack implements the following interfaces. That means all methods defined in these interfaces are also available in ForgeItemStack
Static Properties
Link to static-properties
Name | Type | Has Getter | Has Setter |
---|---|---|---|
Name BASE_ATTACK_DAMAGE_UUID | Type stdlib.UUID | Has Getter true | Has Setter false |
Name BASE_ATTACK_SPEED_UUID | Type stdlib.UUID | Has Getter true | Has Setter false |
Name CRAFTTWEAKER_DATA_KEY | Type string | Has Getter true | Has Setter false |
Casters
Link to casters
Result Type | Is Implicit |
---|---|
Result Type IIngredientWithAmount | Is Implicit true |
Result Type ItemDefinition | Is Implicit true |
Result Type ItemLike | Is Implicit true |
Result Type ItemStack | Is Implicit true |
Result Type MapData | Is Implicit true |
Result Type Percentaged<IItemStack> | Is Implicit true |
Methods
Link to methods
Name: addGlobalAttributeModifier
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
ZenScript Copy// ForgeItemStack.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])
myForgeItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>]);
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 EquipmentSlot[] | Description What slots the modifier is valid for. |
Name: addGlobalAttributeModifier
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
ZenScript Copy// ForgeItemStack.addGlobalAttributeModifier(attribute as Attribute, uuid as stdlib.UUID, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])
myForgeItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, IItemStack.BASE_ATTACK_DAMAGE_UUID, "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>]);
Parameter | Type | Description |
---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. |
Parameter uuid | Type stdlib.UUID | 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 EquipmentSlot[] | Description What slots the modifier is valid for. |
Name: addGlobalAttributeModifier
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
ZenScript Copy// ForgeItemStack.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])
myForgeItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>]);
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 EquipmentSlot[] | Description What slots the modifier is valid for. |
Name: addTooltip
ZenScript CopyForgeItemStack.addTooltip(content as Component)
Parameter | Type |
---|---|
Parameter content | Type Component |
Name: anyDamage
Return Type: IngredientConditioned<IIngredient>
ZenScript Copy// ForgeItemStack.anyDamage() as IngredientConditioned<IIngredient>
myForgeItemStack.anyDamage();
Name: asIIngredientWithAmount
Return Type: IIngredientWithAmount
ZenScript Copy// ForgeItemStack.asIIngredientWithAmount() as IIngredientWithAmount
myForgeItemStack.asIIngredientWithAmount();
Name: asImmutable
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.asImmutable() as IItemStack
myForgeItemStack.asImmutable();
Name: asItemLike
Return Type: ItemLike
ZenScript Copy// ForgeItemStack.asItemLike() as ItemLike
myForgeItemStack.asItemLike();
Name: asMutable
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.asMutable() as IItemStack
myForgeItemStack.asMutable();
Name: clearTooltip
ZenScript CopyForgeItemStack.clearTooltip(leaveName as boolean)
Parameter | Type | Optional | Default Value |
---|---|---|---|
Parameter leaveName | Type boolean | Optional true | Default Value false |
Name: contains
Does the ingredient contain the given ingredient?
Return Type: boolean
ZenScript Copy// ForgeItemStack.contains(ingredient as IIngredient) as boolean
myForgeItemStack.contains((<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>));
Parameter | Type | Description |
---|---|---|
Parameter ingredient | Type IIngredient | Description The ingredient to check |
Name: copy
Creates a copy
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.copy() as IItemStack
myForgeItemStack.copy();
Name: getAttributes
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]
ZenScript Copy// ForgeItemStack.getAttributes(slotType as EquipmentSlot) as stdlib.List<AttributeModifier>[Attribute]
myForgeItemStack.getAttributes(<constant:minecraft:equipmentslot:chest>);
Parameter | Type | Description |
---|---|---|
Parameter slotType | Type EquipmentSlot | Description The slot to get the Attributes for. |
Name: getBurnTime
Return Type: int
ZenScript CopyForgeItemStack.getBurnTime(manager as IRecipeManager) as int
Parameter | Type |
---|---|
Parameter manager | Type IRecipeManager |
Name: getDefinition
Return Type: ItemDefinition
ZenScript Copy// ForgeItemStack.getDefinition() as ItemDefinition
myForgeItemStack.getDefinition();
Name: getEnchantmentLevel
Gets the level of the given enchantment on the item. Returns 0 if the item doesn't have the given enchantment.
Return Type: int
ZenScript CopyForgeItemStack.getEnchantmentLevel(enchantment as Enchantment) as int
Parameter | Type |
---|---|
Parameter enchantment | Type Enchantment |
Name: getEnchantments
Return Type: int?[Enchantment]
ZenScript Copy// ForgeItemStack.getEnchantments() as int?[Enchantment]
myForgeItemStack.getEnchantments();
Name: getFood
Return Type: FoodProperties?
ZenScript Copy// ForgeItemStack.getFood() as FoodProperties?
myForgeItemStack.getFood();
Name: getHoverName
Gets the hover name of the ItemStack.
This will give the raw name without the formatting that 'displayName' applies.
Returns: The hover name of the ItemStack.
Return Type: Component
ZenScript Copy// ForgeItemStack.getHoverName() as Component
myForgeItemStack.getHoverName();
Name: getImmutableInternal
Return Type: ItemStack
ZenScript Copy// ForgeItemStack.getImmutableInternal() as ItemStack
myForgeItemStack.getImmutableInternal();
Name: getMaxStackSize
Returns the max stack size of the Item in the ItemStack
Returns: Max stack size of the Item.
Return Type: int
ZenScript Copy// ForgeItemStack.getMaxStackSize() as int
myForgeItemStack.getMaxStackSize();
Name: getOrCreateTag
Returns the NBT tag attached to this ItemStack or makes a new tag.
Returns: MapData of the ItemStack NBT Tag, empty tag if it doesn't exist.
Return Type: IData
ZenScript Copy// ForgeItemStack.getOrCreateTag() as IData
myForgeItemStack.getOrCreateTag();
Name: getRarity
Returns the rarity of the Item in the ItemStack
Returns: Rarity of the Item.
Return Type: Rarity
ZenScript Copy// ForgeItemStack.getRarity() as Rarity
myForgeItemStack.getRarity();
Name: grow
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
ZenScript Copy// ForgeItemStack.grow(amount as int) as IItemStack
myForgeItemStack.grow(2);
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter amount | Type int | Description The amount to grow by. | Optional true | Default Value 1 |
Name: isEdible
Return Type: boolean
ZenScript Copy// ForgeItemStack.isEdible() as boolean
myForgeItemStack.isEdible();
Name: isFireResistant
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
ZenScript Copy// ForgeItemStack.isFireResistant() as boolean
myForgeItemStack.isFireResistant();
Name: isImmutable
Return Type: boolean
ZenScript Copy// ForgeItemStack.isImmutable() as boolean
myForgeItemStack.isImmutable();
Name: isMutable
Return Type: boolean
ZenScript Copy// ForgeItemStack.isMutable() as boolean
myForgeItemStack.isMutable();
Name: matches
Does the given stack match the ingredient?
Return Type: boolean
ZenScript Copy// ForgeItemStack.matches(stack as IItemStack) as boolean
myForgeItemStack.matches(<item:minecraft:iron_ingot>);
Parameter | Type | Description |
---|---|---|
Parameter stack | Type IItemStack | Description The stack to check |
Name: modifyShiftTooltip
ZenScript CopyForgeItemStack.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction)
Parameter | Type | Optional |
---|---|---|
Parameter shiftedFunction | Type ITooltipFunction | Optional false |
Parameter unshiftedFunction | Type ITooltipFunction | Optional true |
Name: modifyTooltip
ZenScript CopyForgeItemStack.modifyTooltip(function as ITooltipFunction)
Parameter | Type |
---|---|
Parameter function | Type ITooltipFunction |
Name: mul
Use this in contexts where machines accept more than one item to state that fact.
Return Type: IIngredientWithAmount
ZenScript CopyForgeItemStack.mul(amount as int) as IIngredientWithAmount
Parameter | Type |
---|---|
Parameter amount | Type int |
Name: only
Use this if you already have the condition from another ingredient
Return Type: IngredientConditioned<IIngredient>
ZenScript CopyForgeItemStack.only(condition as IIngredientCondition<IIngredient>) as IngredientConditioned<IIngredient>
Parameter | Type |
---|---|
Parameter condition | Type IIngredientCondition<IIngredient> |
Name: onlyDamaged
Return Type: IngredientConditioned<IIngredient>
ZenScript Copy// ForgeItemStack.onlyDamaged() as IngredientConditioned<IIngredient>
myForgeItemStack.onlyDamaged();
Name: onlyDamagedAtLeast
Return Type: IngredientConditioned<IIngredient>
ZenScript CopyForgeItemStack.onlyDamagedAtLeast(minDamage as int) as IngredientConditioned<IIngredient>
Parameter | Type |
---|---|
Parameter minDamage | Type int |
Name: onlyDamagedAtMost
Return Type: IngredientConditioned<IIngredient>
ZenScript CopyForgeItemStack.onlyDamagedAtMost(maxDamage as int) as IngredientConditioned<IIngredient>
Parameter | Type |
---|---|
Parameter maxDamage | Type int |
Name: onlyIf
Return Type: IngredientConditioned<IIngredient>
ZenScript CopyForgeItemStack.onlyIf(uid as string, function as Predicate<IItemStack>) as IngredientConditioned<IIngredient>
Parameter | Type | Optional |
---|---|---|
Parameter uid | Type string | Optional false |
Parameter function | Type Predicate<IItemStack> | Optional true |
Name: percent
Return Type: Percentaged<IItemStack>
ZenScript CopyForgeItemStack.percent(percentage as double) as Percentaged<IItemStack>
Parameter | Type |
---|---|
Parameter percentage | Type double |
Name: removeEnchantment
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
ZenScript Copy// ForgeItemStack.removeEnchantment(enchantment as Enchantment) as IItemStack
myForgeItemStack.removeEnchantment(<enchantment:minecraft:riptide>);
Parameter | Type | Description |
---|---|---|
Parameter enchantment | Type Enchantment | Description The enchantment to remove. |
Name: removeGlobalAttribute
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.
ZenScript Copy// ForgeItemStack.removeGlobalAttribute(attribute as Attribute, slotTypes as EquipmentSlot[])
myForgeItemStack.removeGlobalAttribute(<attribute:minecraft:generic.attack_damage>, [<constant:minecraft:equipmentslot:chest>]);
Parameter | Type | Description |
---|---|---|
Parameter attribute | Type Attribute | Description The attribute to remove. |
Parameter slotTypes | Type EquipmentSlot[] | Description The slot types to remove it from. |
Name: removeGlobalAttributeModifier
Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.
ZenScript Copy// ForgeItemStack.removeGlobalAttributeModifier(uuid as stdlib.UUID, slotTypes as EquipmentSlot[])
myForgeItemStack.removeGlobalAttributeModifier(IItemStack.BASE_ATTACK_DAMAGE_UUID, [<constant:minecraft:equipmentslot:chest>]);
Parameter | Type | Description |
---|---|---|
Parameter uuid | Type stdlib.UUID | Description The unique id of the AttributeModifier to remove. |
Parameter slotTypes | Type EquipmentSlot[] | Description The slot types to remove it from. |
Name: removeGlobalAttributeModifier
Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.
ZenScript Copy// ForgeItemStack.removeGlobalAttributeModifier(uuid as string, slotTypes as EquipmentSlot[])
myForgeItemStack.removeGlobalAttributeModifier("8c1b5535-9f79-448b-87ae-52d81480aaa3", [<constant:minecraft:equipmentslot:chest>]);
Parameter | Type | Description |
---|---|---|
Parameter uuid | Type string | Description The unique id of the AttributeModifier to remove. |
Parameter slotTypes | Type EquipmentSlot[] | Description The slot types to remove it from. |
Name: removeTooltip
ZenScript CopyForgeItemStack.removeTooltip(regex as string)
Parameter | Type |
---|---|
Parameter regex | Type string |
Name: resetHoverName
Clears any custom name set for this ItemStack
ZenScript Copy// ForgeItemStack.resetHoverName()
myForgeItemStack.resetHoverName();
Name: reuse
Return Type: IIngredientTransformed<IIngredient>
ZenScript Copy// ForgeItemStack.reuse() as IIngredientTransformed<IIngredient>
myForgeItemStack.reuse();
Name: setBurnTime
Sets the burn time of this ingredient, for use in the furnace and other machines
ZenScript Copy// ForgeItemStack.setBurnTime(time as int)
myForgeItemStack.setBurnTime(500);
Parameter | Type | Description |
---|---|---|
Parameter time | Type int | Description the new burn time |
Name: setBurnTime
Sets the burn time of this ingredient, for use in the furnace and other machines
ZenScript CopyForgeItemStack.setBurnTime(time as int, manager as IRecipeManager)
Parameter | Type | Description |
---|---|---|
Parameter time | Type int | Description the new burn time |
Parameter manager | Type IRecipeManager | Description ​ |
Name: setEnchantments
Sets the enchantments on this IItemStack.
Returns: This itemStack if it is mutable, a new one with the enchantments otherwise
Return Type: IItemStack
ZenScript CopyForgeItemStack.setEnchantments(enchantments as int?[Enchantment]) as IItemStack
Parameter | Type | Description |
---|---|---|
Parameter enchantments | Type int?[Enchantment] | Description The new enchantments |
Name: setFireResistant
Sets if this IItemStack is immune to fire / lava.
If true, the item will not burn when thrown into fire or lava.
ZenScript CopyForgeItemStack.setFireResistant(fireResistant as boolean)
Parameter | Type | Description |
---|---|---|
Parameter fireResistant | Type boolean | Description Should the item be immune to fire. |
Name: setFood
ZenScript CopyForgeItemStack.setFood(food as FoodProperties?)
Parameter | Type |
---|---|
Parameter food | Type FoodProperties? |
Name: setMaxStackSize
Sets the max stacksize of the Item.
ZenScript Copy// ForgeItemStack.setMaxStackSize(newMaxStackSize as int)
myForgeItemStack.setMaxStackSize(16);
Parameter | Type | Description |
---|---|---|
Parameter newMaxStackSize | Type int | Description The new max stack size of the Item. |
Name: setRarity
Sets the rarity of the Item.
ZenScript Copy// ForgeItemStack.setRarity(newRarity as Rarity)
myForgeItemStack.setRarity(Rarity.UNCOMMON);
Parameter | Type | Description |
---|---|---|
Parameter newRarity | Type Rarity | Description The new rarity of the Item. |
Name: shrink
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
ZenScript Copy// ForgeItemStack.shrink(amount as int) as IItemStack
myForgeItemStack.shrink(2);
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter amount | Type int | Description The amount to shrink by. | Optional true | Default Value 1 |
Name: transform
Use this if you already have the transformer from another ingredient
Return Type: IIngredientTransformed<IIngredient>
ZenScript CopyForgeItemStack.transform(transformer as IIngredientTransformer<IIngredient>) as IIngredientTransformed<IIngredient>
Parameter | Type |
---|---|
Parameter transformer | Type IIngredientTransformer<IIngredient> |
Name: transformCustom
Return Type: IIngredientTransformed<IIngredient>
ZenScript CopyForgeItemStack.transformCustom(uid as string, function as Function<IItemStack,IItemStack>) as IIngredientTransformed<IIngredient>
Parameter | Type | Optional |
---|---|---|
Parameter uid | Type string | Optional false |
Parameter function | Type Function<IItemStack,IItemStack> | Optional true |
Name: transformDamage
Return Type: IIngredientTransformed<IIngredient>
ZenScript CopyForgeItemStack.transformDamage(amount as int) as IIngredientTransformed<IIngredient>
Parameter | Type | Optional | Default Value |
---|---|---|---|
Parameter amount | Type int | Optional true | Default Value 1 |
Name: transformReplace
Return Type: IIngredientTransformed<IIngredient>
ZenScript CopyForgeItemStack.transformReplace(replaceWith as IItemStack) as IIngredientTransformed<IIngredient>
Parameter | Type |
---|---|
Parameter replaceWith | Type IItemStack |
Name: withAttributeModifier
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
ZenScript Copy// ForgeItemStack.withAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack
myForgeItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>], true);
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. | Optional false | Default Value ​ |
Parameter name | Type string | Description The name of the modifier. | Optional false | Default Value ​ |
Parameter value | Type double | Description The value of the modifier. | Optional false | Default Value ​ |
Parameter operation | Type AttributeOperation | Description The operation of the modifier. | Optional false | Default Value ​ |
Parameter slotTypes | Type EquipmentSlot[] | Description What slots the modifier is valid for. | Optional false | Default Value ​ |
Parameter preserveDefaults | Type boolean | Description Should the default Item Attribute Modifiers be preserved when adding this modifier. | Optional true | Default Value false |
Name: withAttributeModifier
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
ZenScript Copy// ForgeItemStack.withAttributeModifier(attribute as Attribute, uuid as stdlib.UUID, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack
myForgeItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>], true);
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. | Optional false | Default Value ​ |
Parameter uuid | Type stdlib.UUID | Description The unique identifier of the modifier to replace. | Optional false | Default Value ​ |
Parameter name | Type string | Description The name of the modifier. | Optional false | Default Value ​ |
Parameter value | Type double | Description The value of the modifier. | Optional false | Default Value ​ |
Parameter operation | Type AttributeOperation | Description The operation of the modifier. | Optional false | Default Value ​ |
Parameter slotTypes | Type EquipmentSlot[] | Description What slots the modifier is valid for. | Optional false | Default Value ​ |
Parameter preserveDefaults | Type boolean | Description Should the default Item Attribute Modifiers be preserved when adding this modifier. | Optional true | Default Value false |
Name: withAttributeModifier
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
ZenScript Copy// ForgeItemStack.withAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack
myForgeItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>], true);
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter attribute | Type Attribute | Description The Attribute of the modifier. | Optional false | Default Value ​ |
Parameter uuid | Type string | Description The unique identifier of the modifier to replace. | Optional false | Default Value ​ |
Parameter name | Type string | Description The name of the modifier. | Optional false | Default Value ​ |
Parameter value | Type double | Description The value of the modifier. | Optional false | Default Value ​ |
Parameter operation | Type AttributeOperation | Description The operation of the modifier. | Optional false | Default Value ​ |
Parameter slotTypes | Type EquipmentSlot[] | Description What slots the modifier is valid for. | Optional false | Default Value ​ |
Parameter preserveDefaults | Type boolean | Description Should the default Item Attribute Modifiers be preserved when adding this modifier. | Optional true | Default Value false |
Name: withDamage
Sets the damage of the ItemStack
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.withDamage(damage as int) as IItemStack
myForgeItemStack.withDamage(10);
Parameter | Type | Description |
---|---|---|
Parameter damage | Type int | Description the new damage value |
Name: withDisplayName
Sets the display name of the ItemStack
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.withDisplayName(name as Component) as IItemStack
myForgeItemStack.withDisplayName("totally not dirt");
Parameter | Type | Description |
---|---|---|
Parameter name | Type Component | Description New name of the stack. |
Name: withEnchantment
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
ZenScript Copy// ForgeItemStack.withEnchantment(enchantment as Enchantment, level as int) as IItemStack
myForgeItemStack.withEnchantment(<enchantment:minecraft:riptide>, 2);
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter enchantment | Type Enchantment | Description The enchantment to add. | Optional false | Default Value ​ |
Parameter level | Type int | Description The level of the enchantment | Optional true | Default Value 1 |
Name: withLore
Sets the lore of the ItemStack
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.withLore(lore as Component?[]) as IItemStack
myForgeItemStack.withLore(new crafttweaker.api.text.TextComponent("I am the lore I speak for the trees"););
Parameter | Type | Description |
---|---|---|
Parameter lore | Type Component?[] | Description the new Lore of the ItemStack. |
Name: withTag
Sets the tag for the ItemStack.
Returns: This itemStack if it is mutable, a new one with the changed property otherwise
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.withTag(tag as MapData) as IItemStack
myForgeItemStack.withTag({Display: {lore: ["Hello"]}});
Parameter | Type | Description |
---|---|---|
Parameter tag | Type MapData | Description The tag to set. |
Name: withoutTag
Removes the tag from this ItemStack.
Returns: This itemStack if it is mutable, a new one with the changed property otherwise
Return Type: IItemStack
ZenScript Copy// ForgeItemStack.withoutTag() as IItemStack
myForgeItemStack.withoutTag();
Operators
Link to operators
Name: CONTAINS
Does the ingredient contain the given ingredient?
ZenScript Copyingredient as IIngredient in myForgeItemStack
(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in myForgeItemStack
Name: MOD
ZenScript CopymyForgeItemStack % percentage as double
Name: MUL
Use this in contexts where machines accept more than one item to state that fact.
ZenScript CopymyForgeItemStack * amount as int
Name: OR
ZenScript CopymyForgeItemStack | other as IIngredient
Properties
Link to 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 baseRepairCost | Type int | Has Getter true | Has Setter false | Description Gets the base repair cost of the ItemStack, or 0 if no repair is defined. |
Name burnTime | Type void | Has Getter false | Has Setter true | Description Sets the burn time of this ingredient, for use in the furnace and other machines |
Name damage | Type int | Has Getter true | Has Setter false | Description ​ |
Name damageableItem | 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 ItemDefinition | Has Getter true | Has Setter false | Description ​ |
Name descriptionId | Type string | Has Getter true | Has Setter false | Description Returns the unlocalized Name of the Item in the ItemStack |
Name displayName | Type Component | Has Getter true | Has Setter false | Description Gets the display name of the ItemStack |
Name enchantments | Type int?[Enchantment] | Has Getter true | Has Setter true | Description ​ |
Name fireResistant | Type boolean | Has Getter true | Has Setter true | Description Checks if this IItemStack burns when thrown into fire / lava or damaged by fire. |
Name food | Type FoodProperties? | Has Getter true | Has Setter true | Description ​ |
Name hasCustomHoverName | Type boolean | Has Getter true | Has Setter false | Description Returns true if the ItemStack has a display name. |
Name hasFoil | Type boolean | Has Getter true | Has Setter false | Description Returns true if this ItemStack has a foil effect. Foil is the glint / effect that is added to enchanted ItemStacks (and other items). |
Name hasTag | Type boolean | Has Getter true | Has Setter false | Description Returns true if this ItemStack has a Tag |
Name hoverName | Type Component | Has Getter true | Has Setter false | Description Gets the hover name of the ItemStack. This will give the raw name without the formatting that 'displayName' applies. |
Name isEdible | Type boolean | Has Getter true | Has Setter false | Description ​ |
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 ​ |
Name isMutable | Type boolean | Has Getter true | Has Setter false | Description ​ |
Name items | Type IItemStack[] | Has Getter true | Has Setter false | Description ​ |
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 ResourceLocation | 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 useDuration | Type int | Has Getter true | Has Setter false | Description Gets the use duration of the ItemStack |
Name useOnRelease | Type boolean | Has Getter true | Has Setter false | Description Returns true if this stack is considered a crossbow item |