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.

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
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);
ParameterTypeDescription
Parameter
attribute
Type
Attribute
Description
The Attribute to add.
Parameter
name
Type
string
Description
The name of the modifier to add
Parameter
value
Type
double
Description
The value of the modifier.
Parameter
operation
Type
AttributeOperation
Description
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);
ParameterTypeDescription
Parameter
attribute
Type
Attribute
Description
The Attribute to add.
Parameter
uuid
Type
string
Description
The UUID 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.

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>);
ParameterTypeDescription
Parameter
attribute
Type
Attribute
Description
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);
ParameterTypeDescription
Parameter
attribute
Type
Attribute
Description
The Attribute to remove.
Parameter
modifier
Type
AttributeModifier
Description
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");
ParameterTypeDescription
Parameter
attribute
Type
Attribute
Description
The Attribute to remove.
Parameter
uuid
Type
string
Description
The UUID of the modifier.
NameTypeHas GetterHas SetterDescription
Name
itemstack
Type
IItemStack
Has Getter
true
Has Setter
false
Description
Gets the ItemStack that this event is being ran for.
Name
modifiers
Type
stdlib.List<AttributeModifier>[Attribute]
Has Getter
true
Has Setter
false
Description
Gets the modifiers on the ItemStack
Name
originalModifiers
Type
stdlib.List<AttributeModifier>[Attribute]
Has Getter
true
Has Setter
false
Description
Gets the original modifiers on the ItemStack before being changed by any other event listener.
Name
slotType
Type
MCEquipmentSlotType
Has Getter
true
Has Setter
false
Description
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.