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.

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;

ItemAttributeModifierEvent extends Event. That means all methods available in Event 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);
参数类型描述
参数
attribute
类型
Attribute
描述
The Attribute to add.
参数
name(名称)
类型
string
描述
The name of the modifier to add
参数
value
类型
double
描述
The value of the modifier.
参数
operation
类型
AttributeOperation
描述
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);
参数类型描述
参数
attribute
类型
Attribute
描述
The Attribute to add.
参数
uuid
类型
string
描述
The UUID of the modifier.
参数
name(名称)
类型
string
描述
The name of the modifier.
参数
value
类型
double
描述
The value of the modifier.
参数
operation
类型
AttributeOperation
描述
The operation of the modifier.

Name: clearModifiers

Clears all AttributeModifiers from the ItemStack.

ZenScript
Copy
// ItemAttributeModifierEvent.clearModifiers()

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: EquipmentSlot

ZenScript
Copy
// ItemAttributeModifierEvent.getSlotType() as EquipmentSlot

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>);
参数类型描述
参数
attribute
类型
Attribute
描述
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);
参数类型描述
参数
attribute
类型
Attribute
描述
The Attribute to remove.
参数
modifier
类型
AttributeModifier
描述
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");
参数类型描述
参数
attribute
类型
Attribute
描述
The Attribute to remove.
参数
uuid
类型
string
描述
The UUID of the modifier.
名称类型可获得可设置描述
名称
itemstack
类型
IItemstack
可获得
true
可设置
false
描述
Gets the ItemStack that this event is being ran for.
名称
modifiers
类型
stdlib.List<AttributeModifier>[Attribute]
可获得
true
可设置
false
描述
Gets the modifiers on the ItemStack
名称
originalModifiers
类型
stdlib.List<AttributeModifier>[Attribute]
可获得
true
可设置
false
描述
Gets the original modifiers on the ItemStack before being changed by any other event listener.
名称
slotType
类型
EquipmentSlot
可获得
true
可设置
false
描述
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.