Importare la Classe

Link to importare-la-classe

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
Copy
import crafttweaker.api.item.IItemStack;

Interfacce Implementate

Link to interfacce-implementate

IItemStack implements the following interfaces. That means all methods defined in these interfaces are also available in IItemStack

Static Properties

Link to static-properties

NomeTipoHa GetterHa Setter
Nome
BASE_ATTACK_DAMAGE_UUID
Tipo
invalid
Ha Getter
Ha Setter
no
Nome
BASE_ATTACK_SPEED_UUID
Tipo
invalid
Ha Getter
Ha Setter
no
Nome
CRAFTTWEAKER_DATA_KEY
Tipo
string
Ha Getter
Ha Setter
no
Result TypeImplicito
Result Type
IIngredientWithAmount
Implicito
Result Type
ItemDefinition
Implicito
Result Type
ItemLike
Implicito
Result Type
ItemStack
Implicito
Result Type
MapData
Implicito
Result Type
Percentaged<IItemStack>
Implicito

Link to addGlobalAttributeModifier

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
// IItemStack.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

myIItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>]);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute of the modifier.
Parametro
nome
Tipo
string
Descrizione
The name of the modifier.
Parametro
valore
Tipo
double
Descrizione
The value of the modifier.
Parametro
operation
Tipo
AttributeOperation
Descrizione
The operation of the modifier.
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
What slots the modifier is valid for.

Link to addGlobalAttributeModifier

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
// IItemStack.addGlobalAttributeModifier(attribute as Attribute, uuid as invalid, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

myIItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, IItemStack.BASE_ATTACK_DAMAGE_UUID, "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>]);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute of the modifier.
Parametro
uuid
Tipo
invalid
Descrizione
The unique identifier of the modifier to replace.
Parametro
nome
Tipo
string
Descrizione
The name of the modifier.
Parametro
valore
Tipo
double
Descrizione
The value of the modifier.
Parametro
operation
Tipo
AttributeOperation
Descrizione
The operation of the modifier.
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
What slots the modifier is valid for.

Link to addGlobalAttributeModifier

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
// IItemStack.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

myIItemStack.addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>]);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute of the modifier.
Parametro
uuid
Tipo
string
Descrizione
The unique identifier of the modifier to replace.
Parametro
nome
Tipo
string
Descrizione
The name of the modifier.
Parametro
valore
Tipo
double
Descrizione
The value of the modifier.
Parametro
operation
Tipo
AttributeOperation
Descrizione
The operation of the modifier.
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
What slots the modifier is valid for.

Name: addShiftTooltip

ZenScript
Copy
IItemStack.addShiftTooltip(content as Component, showMessage as Component)
ParametroTipoOptional
Parametro
contenuto
Tipo
Component
Optional
no
Parametro
showMessage
Tipo
Component
Optional

Name: addTooltip

ZenScript
Copy
IItemStack.addTooltip(content as Component)
ParametroTipo
Parametro
contenuto
Tipo
Component

Name: anyDamage

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
// IItemStack.anyDamage() as IngredientConditioned<IIngredient>

myIItemStack.anyDamage();

Link to asIIngredientWithAmount

Name: asIIngredientWithAmount

Return Type: IIngredientWithAmount

ZenScript
Copy
// IItemStack.asIIngredientWithAmount() as IIngredientWithAmount

myIItemStack.asIIngredientWithAmount();

Name: asImmutable

Return Type: IItemStack

ZenScript
Copy
// IItemStack.asImmutable() as IItemStack

myIItemStack.asImmutable();

Name: asItemLike

Return Type: ItemLike

ZenScript
Copy
// IItemStack.asItemLike() as ItemLike

myIItemStack.asItemLike();

Name: asMutable

Return Type: IItemStack

ZenScript
Copy
// IItemStack.asMutable() as IItemStack

myIItemStack.asMutable();

Name: clearTooltip

ZenScript
Copy
IItemStack.clearTooltip(leaveName as boolean)
ParametroTipoOptionalDefault Value
Parametro
leaveName
Tipo
boolean
Optional
Default Value
no

Name: contains

Does the ingredient contain the given ingredient?

Return Type: boolean

ZenScript
Copy
// IItemStack.contains(ingredient as IIngredient) as boolean

myIItemStack.contains((<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>));
ParametroTipoDescrizione
Parametro
ingredient
Tipo
IIngredient
Descrizione
The ingredient to check

Name: copy

Creates a copy

Return Type: IItemStack

ZenScript
Copy
// IItemStack.copy() as IItemStack

myIItemStack.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
// IItemStack.getAttributes(slotType as EquipmentSlot) as stdlib.List<AttributeModifier>[Attribute]

myIItemStack.getAttributes(<constant:minecraft:equipmentslot:chest>);
ParametroTipoDescrizione
Parametro
slotType
Tipo
EquipmentSlot
Descrizione
The slot to get the Attributes for.

Name: getDefinition

Return Type: ItemDefinition

ZenScript
Copy
// IItemStack.getDefinition() as ItemDefinition

myIItemStack.getDefinition();

Link to getEnchantmentLevel

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
Copy
IItemStack.getEnchantmentLevel(enchantment as Enchantment) as int
ParametroTipo
Parametro
enchantment
Tipo
Enchantment

Name: getEnchantments

Return Type: int?[Enchantment]

ZenScript
Copy
// IItemStack.getEnchantments() as int?[Enchantment]

myIItemStack.getEnchantments();

Name: getFood

Return Type: FoodProperties?

ZenScript
Copy
// IItemStack.getFood() as FoodProperties?

myIItemStack.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
// IItemStack.getHoverName() as Component

myIItemStack.getHoverName();

Link to getImmutableInternal

Name: getImmutableInternal

Return Type: ItemStack

ZenScript
Copy
// IItemStack.getImmutableInternal() as ItemStack

myIItemStack.getImmutableInternal();

Name: getInternal

Gets the internal ItemStack for this IItemStack.

Returns: internal ItemStack
Return Type: ItemStack

ZenScript
Copy
// IItemStack.getInternal() as ItemStack

myIItemStack.getInternal();

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
// IItemStack.getMaxStackSize() as int

myIItemStack.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: MapData

ZenScript
Copy
// IItemStack.getOrCreateTag() as MapData

myIItemStack.getOrCreateTag();

Name: getRarity

Returns the rarity of the Item in the ItemStack

Returns: Rarity of the Item.
Return Type: Rarity

ZenScript
Copy
// IItemStack.getRarity() as Rarity

myIItemStack.getRarity();

Link to getRemainingItem

Name: getRemainingItem

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

ZenScript
Copy
// IItemStack.getRemainingItem(stack as IItemStack) as IItemStack

myIItemStack.getRemainingItem(<item:minecraft:iron_ingot>);
ParametroTipoDescrizione
Parametro
stack
Tipo
IItemStack
Descrizione
The stack to provide for this ingredient.

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
// IItemStack.grow(amount as int) as IItemStack

myIItemStack.grow(2);
ParametroTipoDescrizioneOptionalDefault Value
Parametro
amount
Tipo
int
Descrizione
The amount to grow by.
Optional
Default Value
1

Name: isEdible

Return Type: boolean

ZenScript
Copy
// IItemStack.isEdible() as boolean

myIItemStack.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
// IItemStack.isFireResistant() as boolean

myIItemStack.isFireResistant();

Name: isImmutable

Return Type: boolean

ZenScript
Copy
// IItemStack.isImmutable() as boolean

myIItemStack.isImmutable();

Name: isMutable

Return Type: boolean

ZenScript
Copy
// IItemStack.isMutable() as boolean

myIItemStack.isMutable();

Name: matches

Does the given stack match the ingredient?

Return Type: boolean

ZenScript
Copy
// IItemStack.matches(stack as IItemStack) as boolean

myIItemStack.matches(<item:minecraft:iron_ingot>);
ParametroTipoDescrizione
Parametro
stack
Tipo
IItemStack
Descrizione
The stack to check

Link to modifyShiftTooltip

Name: modifyShiftTooltip

ZenScript
Copy
IItemStack.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction)
ParametroTipoOptional
Parametro
shiftedFunction
Tipo
ITooltipFunction
Optional
no
Parametro
unshiftedFunction
Tipo
ITooltipFunction
Optional

Name: modifyTooltip

ZenScript
Copy
IItemStack.modifyTooltip(function as ITooltipFunction)
ParametroTipo
Parametro
function
Tipo
ITooltipFunction

Name: mul

Use this in contexts where machines accept more than one item to state that fact.

Return Type: IIngredientWithAmount

ZenScript
Copy
IItemStack.mul(amount as int) as IIngredientWithAmount
ParametroTipo
Parametro
amount
Tipo
int

Name: only

Use this if you already have the condition from another ingredient

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IItemStack.only(condition as IIngredientCondition<IIngredient>) as IngredientConditioned<IIngredient>
ParametroTipo
Parametro
condition
Tipo
IIngredientCondition<IIngredient>

Name: onlyDamaged

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
// IItemStack.onlyDamaged() as IngredientConditioned<IIngredient>

myIItemStack.onlyDamaged();

Link to onlyDamagedAtLeast

Name: onlyDamagedAtLeast

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IItemStack.onlyDamagedAtLeast(minDamage as int) as IngredientConditioned<IIngredient>
ParametroTipo
Parametro
minDamage
Tipo
int

Link to onlyDamagedAtMost

Name: onlyDamagedAtMost

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IItemStack.onlyDamagedAtMost(maxDamage as int) as IngredientConditioned<IIngredient>
ParametroTipo
Parametro
maxDamage
Tipo
int

Name: onlyIf

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IItemStack.onlyIf(uid as string, function as Predicate<IItemStack>) as IngredientConditioned<IIngredient>
ParametroTipoOptional
Parametro
uid
Tipo
string
Optional
no
Parametro
function
Tipo
Predicate<IItemStack>
Optional

Name: percent

Return Type: Percentaged<IItemStack>

ZenScript
Copy
IItemStack.percent(percentage as double) as Percentaged<IItemStack>
ParametroTipo
Parametro
percentage
Tipo
double

Link to removeEnchantment

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
// IItemStack.removeEnchantment(enchantment as Enchantment) as IItemStack

myIItemStack.removeEnchantment(<enchantment:minecraft:riptide>);
ParametroTipoDescrizione
Parametro
enchantment
Tipo
Enchantment
Descrizione
The enchantment to remove.

Link to removeGlobalAttribute

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
// IItemStack.removeGlobalAttribute(attribute as Attribute, slotTypes as EquipmentSlot[])

myIItemStack.removeGlobalAttribute(<attribute:minecraft:generic.attack_damage>, [<constant:minecraft:equipmentslot:chest>]);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The attribute to remove.
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
The slot types to remove it from.

Link to removeGlobalAttributeModifier

Name: removeGlobalAttributeModifier

Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.

ZenScript
Copy
// IItemStack.removeGlobalAttributeModifier(uuid as invalid, slotTypes as EquipmentSlot[])

myIItemStack.removeGlobalAttributeModifier(IItemStack.BASE_ATTACK_DAMAGE_UUID, [<constant:minecraft:equipmentslot:chest>]);
ParametroTipoDescrizione
Parametro
uuid
Tipo
invalid
Descrizione
The unique id of the AttributeModifier to remove.
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
The slot types to remove it from.

Link to removeGlobalAttributeModifier

Name: removeGlobalAttributeModifier

Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.

ZenScript
Copy
// IItemStack.removeGlobalAttributeModifier(uuid as string, slotTypes as EquipmentSlot[])

myIItemStack.removeGlobalAttributeModifier("8c1b5535-9f79-448b-87ae-52d81480aaa3", [<constant:minecraft:equipmentslot:chest>]);
ParametroTipoDescrizione
Parametro
uuid
Tipo
string
Descrizione
The unique id of the AttributeModifier to remove.
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
The slot types to remove it from.

Name: removeTooltip

ZenScript
Copy
IItemStack.removeTooltip(regex as string)
ParametroTipo
Parametro
regex
Tipo
string

Name: resetHoverName

Clears any custom name set for this ItemStack

ZenScript
Copy
// IItemStack.resetHoverName()

myIItemStack.resetHoverName();

Name: reuse

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
// IItemStack.reuse() as IIngredientTransformed<IIngredient>

myIItemStack.reuse();

Name: setBurnTime

Sets the burn time of this ingredient, for use in the furnace and other machines

ZenScript
Copy
// IItemStack.setBurnTime(time as int)

myIItemStack.setBurnTime(500);
ParametroTipoDescrizione
Parametro
time
Tipo
int
Descrizione
the new burn time

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
Copy
IItemStack.setEnchantments(enchantments as int?[Enchantment]) as IItemStack
ParametroTipoDescrizione
Parametro
enchantments
Tipo
int?[Enchantment]
Descrizione
The new enchantments

Link to setFireResistant

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
Copy
IItemStack.setFireResistant(fireResistant as boolean)
ParametroTipoDescrizione
Parametro
fireResistant
Tipo
boolean
Descrizione
Should the item be immune to fire.

Name: setFood

ZenScript
Copy
IItemStack.setFood(food as FoodProperties?)
ParametroTipo
Parametro
food
Tipo
FoodProperties?

Name: setMaxStackSize

Sets the max stacksize of the Item.

ZenScript
Copy
// IItemStack.setMaxStackSize(newMaxStackSize as int)

myIItemStack.setMaxStackSize(16);
ParametroTipoDescrizione
Parametro
newMaxStackSize
Tipo
int
Descrizione
The new max stack size of the Item.

Name: setRarity

Sets the rarity of the Item.

ZenScript
Copy
// IItemStack.setRarity(newRarity as Rarity)

myIItemStack.setRarity(Rarity.UNCOMMON);
ParametroTipoDescrizione
Parametro
newRarity
Tipo
Rarity
Descrizione
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
// IItemStack.shrink(amount as int) as IItemStack

myIItemStack.shrink(2);
ParametroTipoDescrizioneOptionalDefault Value
Parametro
amount
Tipo
int
Descrizione
The amount to shrink by.
Optional
Default Value
1

Name: transform

Use this if you already have the transformer from another ingredient

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IItemStack.transform(transformer as IIngredientTransformer<IIngredient>) as IIngredientTransformed<IIngredient>
ParametroTipo
Parametro
trasformatore
Tipo
IIngredientTransformer<IIngredient>

Name: transformCustom

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IItemStack.transformCustom(uid as string, function as Function<IItemStack,IItemStack>) as IIngredientTransformed<IIngredient>
ParametroTipoOptional
Parametro
uid
Tipo
string
Optional
no
Parametro
function
Tipo
Function<IItemStack,IItemStack>
Optional

Name: transformDamage

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IItemStack.transformDamage(amount as int) as IIngredientTransformed<IIngredient>
ParametroTipoOptionalDefault Value
Parametro
amount
Tipo
int
Optional
Default Value
1

Link to transformReplace

Name: transformReplace

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IItemStack.transformReplace(replaceWith as IItemStack) as IIngredientTransformed<IIngredient>
ParametroTipo
Parametro
replaceWith
Tipo
IItemStack

Link to withAttributeModifier

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
// IItemStack.withAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack

myIItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>], true);
ParametroTipoDescrizioneOptionalDefault Value
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute of the modifier.
Optional
no
Default Value
Parametro
nome
Tipo
string
Descrizione
The name of the modifier.
Optional
no
Default Value
Parametro
valore
Tipo
double
Descrizione
The value of the modifier.
Optional
no
Default Value
Parametro
operation
Tipo
AttributeOperation
Descrizione
The operation of the modifier.
Optional
no
Default Value
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
What slots the modifier is valid for.
Optional
no
Default Value
Parametro
preserveDefaults
Tipo
boolean
Descrizione
Should the default Item Attribute Modifiers be preserved when adding this modifier.
Optional
Default Value
no

Link to withAttributeModifier

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
// IItemStack.withAttributeModifier(attribute as Attribute, uuid as invalid, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack

myIItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>], true);
ParametroTipoDescrizioneOptionalDefault Value
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute of the modifier.
Optional
no
Default Value
Parametro
uuid
Tipo
invalid
Descrizione
The unique identifier of the modifier to replace.
Optional
no
Default Value
Parametro
nome
Tipo
string
Descrizione
The name of the modifier.
Optional
no
Default Value
Parametro
valore
Tipo
double
Descrizione
The value of the modifier.
Optional
no
Default Value
Parametro
operation
Tipo
AttributeOperation
Descrizione
The operation of the modifier.
Optional
no
Default Value
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
What slots the modifier is valid for.
Optional
no
Default Value
Parametro
preserveDefaults
Tipo
boolean
Descrizione
Should the default Item Attribute Modifiers be preserved when adding this modifier.
Optional
Default Value
no

Link to withAttributeModifier

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
// IItemStack.withAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[], preserveDefaults as boolean) as IItemStack

myIItemStack.withAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<constant:minecraft:equipmentslot:chest>], true);
ParametroTipoDescrizioneOptionalDefault Value
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute of the modifier.
Optional
no
Default Value
Parametro
uuid
Tipo
string
Descrizione
The unique identifier of the modifier to replace.
Optional
no
Default Value
Parametro
nome
Tipo
string
Descrizione
The name of the modifier.
Optional
no
Default Value
Parametro
valore
Tipo
double
Descrizione
The value of the modifier.
Optional
no
Default Value
Parametro
operation
Tipo
AttributeOperation
Descrizione
The operation of the modifier.
Optional
no
Default Value
Parametro
slotTypes
Tipo
EquipmentSlot[]
Descrizione
What slots the modifier is valid for.
Optional
no
Default Value
Parametro
preserveDefaults
Tipo
boolean
Descrizione
Should the default Item Attribute Modifiers be preserved when adding this modifier.
Optional
Default Value
no

Name: withDamage

Sets the damage of the ItemStack

Return Type: IItemStack

ZenScript
Copy
// IItemStack.withDamage(damage as int) as IItemStack

myIItemStack.withDamage(10);
ParametroTipoDescrizione
Parametro
damage
Tipo
int
Descrizione
the new damage value

Name: withDisplayName

Sets the display name of the ItemStack

Return Type: IItemStack

ZenScript
Copy
// IItemStack.withDisplayName(name as Component) as IItemStack

myIItemStack.withDisplayName("totally not dirt");
ParametroTipoDescrizione
Parametro
nome
Tipo
Component
Descrizione
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
// IItemStack.withEnchantment(enchantment as Enchantment, level as int) as IItemStack

myIItemStack.withEnchantment(<enchantment:minecraft:riptide>, 2);
ParametroTipoDescrizioneOptionalDefault Value
Parametro
enchantment
Tipo
Enchantment
Descrizione
The enchantment to add.
Optional
no
Default Value
Parametro
level
Tipo
int
Descrizione
The level of the enchantment
Optional
Default Value
1

Name: withLore

Sets the lore of the ItemStack

Return Type: IItemStack

ZenScript
Copy
// IItemStack.withLore(lore as Component?[]) as IItemStack

myIItemStack.withLore(new crafttweaker.api.text.TextComponent("I am the lore I speak for the trees"););
ParametroTipoDescrizione
Parametro
lore
Tipo
Component?[]
Descrizione
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
// IItemStack.withTag(tag as MapData) as IItemStack

myIItemStack.withTag({Display: {lore: ["Hello"]}});
ParametroTipoDescrizione
Parametro
tag
Tipo
MapData
Descrizione
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
// IItemStack.withoutTag() as IItemStack

myIItemStack.withoutTag();

Name: CONTAINS

Does the ingredient contain the given ingredient?

ZenScript
Copy
ingredient as IIngredient in myIItemStack
(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in myIItemStack

Name: MOD

ZenScript
Copy
myIItemStack % percentage as double

Name: MUL

Use this in contexts where machines accept more than one item to state that fact.

ZenScript
Copy
myIItemStack * amount as int

Name: OR

ZenScript
Copy
myIItemStack | other as IIngredient
NomeTipoHa GetterHa SetterDescrizione
Nome
amount
Tipo
int
Ha Getter
Ha Setter
no
Descrizione
Gets the amount of Items in the ItemStack
Nome
baseRepairCost
Tipo
int
Ha Getter
Ha Setter
no
Descrizione
Gets the base repair cost of the ItemStack, or 0 if no repair is defined.
Nome
burnTime
Tipo
void
Ha Getter
Ha Setter
Descrizione
Sets the burn time of this ingredient, for use in the furnace and other machines
Nome
commandString
Tipo
string
Ha Getter
Ha Setter
no
Descrizione
Returns the BEP to get this stack
Nome
damage
Tipo
int
Ha Getter
Ha Setter
no
Descrizione
Nome
damageableItem
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Returns if the ItemStack is damageable
I.E Swords and tools are damageable, sticks are not.
Nome
damaged
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Returns if the ItemStack is damaged
I.E a Swords that is no at full durability is damaged.
Nome
definition
Tipo
ItemDefinition
Ha Getter
Ha Setter
no
Descrizione
Nome
descriptionId
Tipo
string
Ha Getter
Ha Setter
no
Descrizione
Returns the unlocalized Name of the Item in the ItemStack
Nome
displayName
Tipo
Component
Ha Getter
Ha Setter
no
Descrizione
Gets the display name of the ItemStack
Nome
enchantments
Tipo
int?[Enchantment]
Ha Getter
Ha Setter
Descrizione
Nome
fireResistant
Tipo
boolean
Ha Getter
Ha Setter
Descrizione
Checks if this IItemStack burns when thrown into fire / lava or damaged by fire.
Nome
food
Tipo
FoodProperties?
Ha Getter
Ha Setter
Descrizione
Nome
hasCustomHoverName
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Returns true if the ItemStack has a display name.
Nome
hasFoil
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Returns true if this ItemStack has a foil effect.

Foil is the glint / effect that is added to enchanted ItemStacks (and other items).
Nome
hasTag
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Returns true if this ItemStack has a Tag
Nome
hoverName
Tipo
Component
Ha Getter
Ha Setter
no
Descrizione
Gets the hover name of the ItemStack.

This will give the raw name without the formatting that 'displayName' applies.
Nome
isEdible
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Nome
isEnchantable
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Can this ItemStack be enchanted?
Nome
isEnchanted
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Is this ItemStack enchanted?
Nome
isImmutable
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Nome
isMutable
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Nome
items
Tipo
IItemStack[]
Ha Getter
Ha Setter
no
Descrizione
Nome
maxDamage
Tipo
int
Ha Getter
Ha Setter
Descrizione
Returns the max damage of the ItemStack
This is the max durability of the ItemStack.
Nome
maxStackSize
Tipo
int
Ha Getter
Ha Setter
Descrizione
Returns the max stack size of the Item in the ItemStack
Nome
owner
Tipo
string
Ha Getter
Ha Setter
no
Descrizione
Gets owning mod for the Item in this IItemStack
Nome
rarity
Tipo
Rarity
Ha Getter
Ha Setter
Descrizione
Returns the rarity of the Item in the ItemStack
Nome
registryName
Tipo
ResourceLocation
Ha Getter
Ha Setter
no
Descrizione
Gets the registry name for the Item in this IItemStack
Nome
stackable
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Returns if the ItemStack can have an amount greater than 1
I.E Swords and tools are not stackable, sticks are.
Nome
tag
Tipo
MapData?
Ha Getter
Ha Setter
no
Descrizione
Returns the NBT tag attached to this ItemStack.
Nome
useDuration
Tipo
int
Ha Getter
Ha Setter
no
Descrizione
Gets the use duration of the ItemStack
Nome
useOnRelease
Tipo
boolean
Ha Getter
Ha Setter
no
Descrizione
Returns true if this stack is considered a crossbow item