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.
导入类
Link to 导入类
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.event.ItemAttributeModifierEvent;
Extending Event
Link to extending-event
ItemAttributeModifierEvent extends Event. That means all methods available in Event are also available in ItemAttributeModifierEvent
使用方式
Link to 使用方式
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();
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. |