ItemAttributeModifierEvent

Link to itemattributemodifierevent

This event is fired when the attributes for an ItemStack are being calculated. Attributes are calculated on the server when equipping and un-equipping an item to add and remove attributes respectively, both must be consistent. Attributes are calculated on the client when rendering an item's tooltip to show relevant attributes.

The event is not cancelable.

The event does not have a result.

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.event.ItemAttributeModifierEvent;

Extending MCEvent

Link to extending-mcevent

ItemAttributeModifierEvent extends MCEvent. That means all methods available in MCEvent are also available in ItemAttributeModifierEvent

Name: addModifier

Adds a new AttributeModifier to the ItemStack.

Returns: True if the modifier was added. False otherwise.
Return Type: boolean

ZenScript
Copy
// ItemAttributeModifierEvent.addModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation) as boolean

myItemAttributeModifierEvent.addModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute to add.
Parametro
nome
Tipo
string
Descrizione
The name of the modifier to add
Parametro
valore
Tipo
double
Descrizione
The value of the modifier.
Parametro
operation
Tipo
AttributeOperation
Descrizione
The operation of the modifier.

Name: addModifier

Adds a new AttributeModifier to the ItemStack.

Returns: True if the modifier was added. False otherwise.
Return Type: boolean

ZenScript
Copy
// ItemAttributeModifierEvent.addModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation) as boolean

myItemAttributeModifierEvent.addModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute to add.
Parametro
uuid
Tipo
string
Descrizione
The UUID 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.

Name: clearModifiers

Clears all AttributeModifiers from the ItemStack.

Return Type: void

ZenScript
Copy
// ItemAttributeModifierEvent.clearModifiers() as void

myItemAttributeModifierEvent.clearModifiers();

Name: getItemStack

Gets the ItemStack that this event is being ran for.

Returns: The ItemStack this event is being ran for.
Return Type: IItemStack

ZenScript
Copy
// ItemAttributeModifierEvent.getItemStack() as IItemStack

myItemAttributeModifierEvent.getItemStack();

Name: getModifiers

Gets the modifiers on the ItemStack

Returns: A Map of Attribute to a List of AttributeModifier.
Return Type: stdlib.List<AttributeModifier>[Attribute]

ZenScript
Copy
// ItemAttributeModifierEvent.getModifiers() as stdlib.List<AttributeModifier>[Attribute]

myItemAttributeModifierEvent.getModifiers();

Link to getOriginalModifiers

Name: getOriginalModifiers

Gets the original modifiers on the ItemStack before being changed by any other event listener.

Returns: A Map of Attribute to a List of AttributeModifier.
Return Type: stdlib.List<AttributeModifier>[Attribute]

ZenScript
Copy
// ItemAttributeModifierEvent.getOriginalModifiers() as stdlib.List<AttributeModifier>[Attribute]

myItemAttributeModifierEvent.getOriginalModifiers();

Name: getSlotType

Gets the EquipmentSlotType that this event is being ran for.

If you only want to add / remove a modifier from a specific slot, you can use this to filter based on the slot.

Returns: The EquipmentSlotType of this event.
Return Type: MCEquipmentSlotType

ZenScript
Copy
// ItemAttributeModifierEvent.getSlotType() as MCEquipmentSlotType

myItemAttributeModifierEvent.getSlotType();

Name: removeAttribute

Removes an Attribute from the ItemStack.

Returns: A List of the AttributeModifiers for the removed Attribute.
Return Type: stdlib.List<AttributeModifier>

ZenScript
Copy
// ItemAttributeModifierEvent.removeAttribute(attribute as Attribute) as stdlib.List<AttributeModifier>

myItemAttributeModifierEvent.removeAttribute(<attribute:minecraft:generic.attack_damage>);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute to remove.

Name: removeModifier

Removes an AttributeModifier from the ItemStack.

Returns: True if the modifier was remove. False otherwise.
Return Type: boolean

ZenScript
Copy
// ItemAttributeModifierEvent.removeModifier(attribute as Attribute, modifier as AttributeModifier) as boolean

myItemAttributeModifierEvent.removeModifier(<attribute:minecraft:generic.attack_damage>, modifier);
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute to remove.
Parametro
modifier
Tipo
AttributeModifier
Descrizione
The modifier to remove.

Name: removeModifier

Removes an AttributeModifier from the ItemStack based on the modifier's UUID.

Returns: True if the modifier was remove. False otherwise.
Return Type: boolean

ZenScript
Copy
// ItemAttributeModifierEvent.removeModifier(attribute as Attribute, uuid as string) as boolean

myItemAttributeModifierEvent.removeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3");
ParametroTipoDescrizione
Parametro
attribute
Tipo
Attribute
Descrizione
The Attribute to remove.
Parametro
uuid
Tipo
string
Descrizione
The UUID of the modifier.
NomeTipoHa GetterHa SetterDescrizione
Nome
itemstack
Tipo
IItemStack
Ha Getter
Ha Setter
no
Descrizione
Gets the ItemStack that this event is being ran for.
Nome
modifiers
Tipo
stdlib.List<AttributeModifier>[Attribute]
Ha Getter
Ha Setter
no
Descrizione
Gets the modifiers on the ItemStack
Nome
originalModifiers
Tipo
stdlib.List<AttributeModifier>[Attribute]
Ha Getter
Ha Setter
no
Descrizione
Gets the original modifiers on the ItemStack before being changed by any other event listener.
Nome
slotType
Tipo
MCEquipmentSlotType
Ha Getter
Ha Setter
no
Descrizione
Gets the EquipmentSlotType that this event is being ran for.

If you only want to add / remove a modifier from a specific slot, you can use this to filter based on the slot.