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;

已实现的接口

Link to 已实现的接口

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

Static Properties

Link to static-properties

名称类型可获得可设置
名称
BASE_ATTACK_DAMAGE_UUID
类型
invalid
可获得
true
可设置
false
名称
BASE_ATTACK_SPEED_UUID
类型
invalid
可获得
true
可设置
false
名称
CRAFTTWEAKER_DATA_KEY
类型
string
可获得
true
可设置
false
Result Type是否隐藏
Result Type
IIngredientWithAmount
是否隐藏
true
Result Type
ItemDefinition
是否隐藏
true
Result Type
ItemLike
是否隐藏
true
Result Type
物品应用
是否隐藏
true
Result Type
MapData #地图数据
是否隐藏
true
Result Type
Percentaged<IItemStack>
是否隐藏
true

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>]);
参数类型描述
参数
attribute
类型
Attribute
描述
The Attribute of the modifier.
参数
name(名称)
类型
string
描述
The name of the modifier.
参数
value
类型
double
描述
The value of the modifier.
参数
operation
类型
AttributeOperation
描述
The operation of the modifier.
参数
slotTypes
类型
EquipmentSlot[]
描述
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>]);
参数类型描述
参数
attribute
类型
Attribute
描述
The Attribute of the modifier.
参数
uuid
类型
invalid
描述
The unique identifier of the modifier to replace.
参数
name(名称)
类型
string
描述
The name of the modifier.
参数
value
类型
double
描述
The value of the modifier.
参数
operation
类型
AttributeOperation
描述
The operation of the modifier.
参数
slotTypes
类型
EquipmentSlot[]
描述
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>]);
参数类型描述
参数
attribute
类型
Attribute
描述
The Attribute of the modifier.
参数
uuid
类型
string
描述
The unique identifier of the modifier to replace.
参数
name(名称)
类型
string
描述
The name of the modifier.
参数
value
类型
double
描述
The value of the modifier.
参数
operation
类型
AttributeOperation
描述
The operation of the modifier.
参数
slotTypes
类型
EquipmentSlot[]
描述
What slots the modifier is valid for.

Name: addShiftTooltip

ZenScript
Copy
IItemStack.addShiftTooltip(content as Component, showMessage as Component)
参数类型可选
参数
内容
类型
Component
可选
false
参数
showMessage
类型
Component
可选
true

Name: addTooltip

ZenScript
Copy
IItemStack.addTooltip(content as Component)
参数类型
参数
内容
类型
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)
参数类型可选默认值
参数
leaveName
类型
布尔值
可选
true
默认值
false

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>));
参数类型描述
参数
ingredient
类型
材料(IIngredient)
描述
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>);
参数类型描述
参数
slotType
类型
EquipmentSlot
描述
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
参数类型
参数
enchantment
类型
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: IData

ZenScript
Copy
// IItemStack.getOrCreateTag() as IData

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>);
参数类型描述
参数
堆叠
类型
IItemstack
描述
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);
参数类型描述可选默认值
参数
amount
类型
int
描述
The amount to grow by.
可选
true
默认值
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>);
参数类型描述
参数
堆叠
类型
IItemstack
描述
The stack to check

Link to modifyShiftTooltip

Name: modifyShiftTooltip

ZenScript
Copy
IItemStack.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction)
参数类型可选
参数
shiftedFunction
类型
ITooltipFunction
可选
false
参数
unshiftedFunction
类型
ITooltipFunction
可选
true

Name: modifyTooltip

ZenScript
Copy
IItemStack.modifyTooltip(function as ITooltipFunction)
参数类型
参数
function
类型
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
参数类型
参数
amount
类型
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>
参数类型
参数
condition
类型
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>
参数类型
参数
minDamage
类型
int

Link to onlyDamagedAtMost

Name: onlyDamagedAtMost

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IItemStack.onlyDamagedAtMost(maxDamage as int) as IngredientConditioned<IIngredient>
参数类型
参数
maxDamage
类型
int

Name: onlyIf

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IItemStack.onlyIf(uid as string, function as Predicate<IItemStack>) as IngredientConditioned<IIngredient>
参数类型可选
参数
uid
类型
string
可选
false
参数
function
类型
Predicate<IItemStack>
可选
true

Name: percent

Return Type: Percentaged<IItemStack>

ZenScript
Copy
IItemStack.percent(percentage as double) as Percentaged<IItemStack>
参数类型
参数
percentage
类型
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>);
参数类型描述
参数
enchantment
类型
Enchantment
描述
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>]);
参数类型描述
参数
attribute
类型
Attribute
描述
The attribute to remove.
参数
slotTypes
类型
EquipmentSlot[]
描述
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>]);
参数类型描述
参数
uuid
类型
invalid
描述
The unique id of the AttributeModifier to remove.
参数
slotTypes
类型
EquipmentSlot[]
描述
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>]);
参数类型描述
参数
uuid
类型
string
描述
The unique id of the AttributeModifier to remove.
参数
slotTypes
类型
EquipmentSlot[]
描述
The slot types to remove it from.

Name: removeTooltip

ZenScript
Copy
IItemStack.removeTooltip(regex as string)
参数类型
参数
regex
类型
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);
参数类型描述
参数
time
类型
int
描述
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
参数类型描述
参数
enchantments
类型
int?[Enchantment]
描述
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)
参数类型描述
参数
fireResistant
类型
布尔值
描述
Should the item be immune to fire.

Name: setFood

ZenScript
Copy
IItemStack.setFood(food as FoodProperties?)
参数类型
参数
food
类型
FoodProperties?

Name: setMaxStackSize

Sets the max stacksize of the Item.

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

myIItemStack.setMaxStackSize(16);
参数类型描述
参数
newMaxStackSize
类型
int
描述
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);
参数类型描述
参数
newRarity
类型
Rarity
描述
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);
参数类型描述可选默认值
参数
amount
类型
int
描述
The amount to shrink by.
可选
true
默认值
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>
参数类型
参数
变压器
类型
IIngredientTransformer<IIngredient>

Name: transformCustom

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IItemStack.transformCustom(uid as string, function as Function<IItemStack,IItemStack>) as IIngredientTransformed<IIngredient>
参数类型可选
参数
uid
类型
string
可选
false
参数
function
类型
Function<IItemStack,IItemStack>
可选
true

Name: transformDamage

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IItemStack.transformDamage(amount as int) as IIngredientTransformed<IIngredient>
参数类型可选默认值
参数
amount
类型
int
可选
true
默认值
1

Link to transformReplace

Name: transformReplace

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IItemStack.transformReplace(replaceWith as IItemStack) as IIngredientTransformed<IIngredient>
参数类型
参数
replaceWith
类型
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);
参数类型描述可选默认值
参数
attribute
类型
Attribute
描述
The Attribute of the modifier.
可选
false
默认值
参数
name(名称)
类型
string
描述
The name of the modifier.
可选
false
默认值
参数
value
类型
double
描述
The value of the modifier.
可选
false
默认值
参数
operation
类型
AttributeOperation
描述
The operation of the modifier.
可选
false
默认值
参数
slotTypes
类型
EquipmentSlot[]
描述
What slots the modifier is valid for.
可选
false
默认值
参数
preserveDefaults
类型
布尔值
描述
Should the default Item Attribute Modifiers be preserved when adding this modifier.
可选
true
默认值
false

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);
参数类型描述可选默认值
参数
attribute
类型
Attribute
描述
The Attribute of the modifier.
可选
false
默认值
参数
uuid
类型
invalid
描述
The unique identifier of the modifier to replace.
可选
false
默认值
参数
name(名称)
类型
string
描述
The name of the modifier.
可选
false
默认值
参数
value
类型
double
描述
The value of the modifier.
可选
false
默认值
参数
operation
类型
AttributeOperation
描述
The operation of the modifier.
可选
false
默认值
参数
slotTypes
类型
EquipmentSlot[]
描述
What slots the modifier is valid for.
可选
false
默认值
参数
preserveDefaults
类型
布尔值
描述
Should the default Item Attribute Modifiers be preserved when adding this modifier.
可选
true
默认值
false

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);
参数类型描述可选默认值
参数
attribute
类型
Attribute
描述
The Attribute of the modifier.
可选
false
默认值
参数
uuid
类型
string
描述
The unique identifier of the modifier to replace.
可选
false
默认值
参数
name(名称)
类型
string
描述
The name of the modifier.
可选
false
默认值
参数
value
类型
double
描述
The value of the modifier.
可选
false
默认值
参数
operation
类型
AttributeOperation
描述
The operation of the modifier.
可选
false
默认值
参数
slotTypes
类型
EquipmentSlot[]
描述
What slots the modifier is valid for.
可选
false
默认值
参数
preserveDefaults
类型
布尔值
描述
Should the default Item Attribute Modifiers be preserved when adding this modifier.
可选
true
默认值
false

Name: withDamage

Sets the damage of the ItemStack

Return Type: IItemStack

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

myIItemStack.withDamage(10);
参数类型描述
参数
damage
类型
int
描述
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");
参数类型描述
参数
name(名称)
类型
Component
描述
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);
参数类型描述可选默认值
参数
enchantment
类型
Enchantment
描述
The enchantment to add.
可选
false
默认值
参数
level
类型
int
描述
The level of the enchantment
可选
true
默认值
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"););
参数类型描述
参数
lore
类型
Component?[]
描述
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"]}});
参数类型描述
参数
tag #标签
类型
MapData #地图数据
描述
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
名称类型可获得可设置描述
名称
amount
类型
int
可获得
true
可设置
false
描述
Gets the amount of Items in the ItemStack
名称
baseRepairCost
类型
int
可获得
true
可设置
false
描述
Gets the base repair cost of the ItemStack, or 0 if no repair is defined.
名称
burnTime
类型
void
可获得
true
可设置
true
描述
Sets the burn time of this ingredient, for use in the furnace and other machines
名称
damage
类型
int
可获得
true
可设置
false
描述
名称
damageableItem
类型
布尔值
可获得
true
可设置
false
描述
Returns if the ItemStack is damageable
I.E Swords and tools are damageable, sticks are not.
名称
damaged
类型
布尔值
可获得
true
可设置
false
描述
Returns if the ItemStack is damaged
I.E a Swords that is no at full durability is damaged.
名称
definition
类型
ItemDefinition
可获得
true
可设置
false
描述
名称
descriptionId
类型
string
可获得
true
可设置
false
描述
Returns the unlocalized Name of the Item in the ItemStack
名称
displayName
类型
Component
可获得
true
可设置
false
描述
Gets the display name of the ItemStack
名称
enchantments
类型
int?[Enchantment]
可获得
true
可设置
true
描述
名称
fireResistant
类型
布尔值
可获得
true
可设置
true
描述
Checks if this IItemStack burns when thrown into fire / lava or damaged by fire.
名称
food
类型
FoodProperties?
可获得
true
可设置
true
描述
名称
hasCustomHoverName
类型
布尔值
可获得
true
可设置
false
描述
Returns true if the ItemStack has a display name.
名称
hasFoil
类型
布尔值
可获得
true
可设置
false
描述
Returns true if this ItemStack has a foil effect.

Foil is the glint / effect that is added to enchanted ItemStacks (and other items).
名称
hasTag
类型
布尔值
可获得
true
可设置
false
描述
Returns true if this ItemStack has a Tag
名称
hoverName
类型
Component
可获得
true
可设置
false
描述
Gets the hover name of the ItemStack.

This will give the raw name without the formatting that 'displayName' applies.
名称
isEdible
类型
布尔值
可获得
true
可设置
false
描述
名称
isEnchantable
类型
布尔值
可获得
true
可设置
false
描述
Can this ItemStack be enchanted?
名称
isEnchanted
类型
布尔值
可获得
true
可设置
false
描述
Is this ItemStack enchanted?
名称
isImmutable
类型
布尔值
可获得
true
可设置
false
描述
名称
isMutable
类型
布尔值
可获得
true
可设置
false
描述
名称
items
类型
IItemStack[]
可获得
true
可设置
false
描述
名称
maxDamage
类型
int
可获得
true
可设置
true
描述
Returns the max damage of the ItemStack
This is the max durability of the ItemStack.
名称
maxStackSize
类型
int
可获得
true
可设置
true
描述
Returns the max stack size of the Item in the ItemStack
名称
owner
类型
string
可获得
true
可设置
false
描述
Gets owning mod for the Item in this IItemStack
名称
rarity
类型
Rarity
可获得
true
可设置
true
描述
Returns the rarity of the Item in the ItemStack
名称
registryName
类型
资源位置
可获得
true
可设置
false
描述
Gets the registry name for the Item in this IItemStack
名称
stackable
类型
布尔值
可获得
true
可设置
false
描述
Returns if the ItemStack can have an amount greater than 1
I.E Swords and tools are not stackable, sticks are.
名称
tag #标签
类型
IData?
可获得
true
可设置
false
描述
Returns the NBT tag attached to this ItemStack.
名称
useDuration
类型
int
可获得
true
可设置
false
描述
Gets the use duration of the ItemStack
名称
useOnRelease
类型
布尔值
可获得
true
可设置
false
描述
Returns true if this stack is considered a crossbow item