MCItemStackMutable
Link to mcitemstackmutable
An MCItemStackMutable object is the same as any other IItemStack. The only difference is that changes made to it will not create a new ItemStack, but instead modify the stack given.
This is useful for example when you are dealing with Event Handlers and need to shrink the stack the player is using without assigning a new stack.
导入类
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.item.MCItemStackMutable;
已实现的接口
Link to 已实现的接口
MCItemStackMutable implements the following interfaces. That means all methods defined in these interfaces are also available in MCItemStackMutable
Static Properties
Link to static-properties
名称 | 类型 | 可获得 | 可设置 | 描述 |
---|---|---|---|---|
名称 CRAFTTWEAKER_DATA_KEY | 类型 string | 可获得 true | 可设置 false | 描述 No Description Provided |
Casters
Link to casters
结果类型 | 是否隐藏 |
---|---|
结果类型 IData #数据 | 是否隐藏 true |
结果类型 IIngredientWithAmount | 是否隐藏 true |
结果类型 MapData #地图数据 | 是否隐藏 true |
结果类型 MCItemDefinition | 是否隐藏 true |
结果类型 MCWeightedItemStack | 是否隐藏 true |
使用方式
Link to 使用方式
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
Return Type: void
ZenScript Copy// MCItemStackMutable.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as MCEquipmentSlotType[]) as void
<item:minecraft:dirt>.mutable().addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslottype: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 | 类型 MCEquipmentSlotType[] | 描述 What slots the modifier is valid for. |
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
Return Type: void
ZenScript Copy// MCItemStackMutable.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as MCEquipmentSlotType[]) as void
<item:minecraft:dirt>.mutable().addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslottype: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 | 类型 MCEquipmentSlotType[] | 描述 What slots the modifier is valid for. |
Name: addShiftTooltip
Return Type: void
ZenScript CopyMCItemStackMutable.addShiftTooltip(content as MCTextComponent, showMessage as MCTextComponent) as void
参数 | 类型 | 描述 | 可选 | DefaultValue |
---|---|---|---|---|
参数 内容 | 类型 MCText组件 | 描述 No Description Provided | 可选 false | DefaultValue |
参数 showMessage | 类型 MCText组件 | 描述 No Description Provided | 可选 true | DefaultValue |
Name: addTooltip
Return Type: void
ZenScript CopyMCItemStackMutable.addTooltip(content as MCTextComponent) as void
参数 | 类型 | 描述 |
---|---|---|
参数 内容 | 类型 MCText组件 | 描述 No Description Provided |
Name: anyDamage
Return Type: MCIngredientConditioned<IIngredient>
ZenScript Copy// MCItemStackMutable.anyDamage() as MCIngredientConditioned<IIngredient>
<item:minecraft:dirt>.mutable().anyDamage();
Name: asIIngredientWithAmount
Return Type: IIngredientWithAmount
ZenScript Copy// MCItemStackMutable.asIIngredientWithAmount() as IIngredientWithAmount
<item:minecraft:dirt>.mutable().asIIngredientWithAmount();
Name: clearCustomName
Clears any custom name set for this ItemStack
Return Type: void
ZenScript Copy// MCItemStackMutable.clearCustomName() as void
<item:minecraft:dirt>.mutable().clearCustomName();
Name: clearTooltip
Return Type: void
ZenScript Copy// MCItemStackMutable.clearTooltip() as void
<item:minecraft:dirt>.mutable().clearTooltip();
Name: contains
Does the ingredient contain the given ingredient?
Return Type: boolean
ZenScript Copy// MCItemStackMutable.contains(ingredient as IIngredient) as boolean
<item:minecraft:dirt>.mutable().contains((<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>));
参数 | 类型 | 描述 |
---|---|---|
参数 ingredient | 类型 材料(IIngredient) | 描述 The ingredient to check |
Name: getAttributes
Gets the Attributes and the AttributeModifiers on this IItemStack for the given EquipmentSlotType
Returns: A Map of Attribute to a List of AttributeModifier for the given EquipmentSlotType.
Return Type: stdlib.List<AttributeModifier>[Attribute]
ZenScript Copy// MCItemStackMutable.getAttributes(slotType as MCEquipmentSlotType) as stdlib.List<AttributeModifier>[Attribute]
<item:minecraft:dirt>.mutable().getAttributes(<equipmentslottype:chest>);
参数 | 类型 | 描述 |
---|---|---|
参数 slotType | 类型 MCEquipmentSlotType | 描述 The slot to get the Attributes for. |
Name: getDefinition
Return Type: MCItemDefinition
ZenScript Copy// MCItemStackMutable.getDefinition() as MCItemDefinition
<item:minecraft:dirt>.mutable().getDefinition();
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 CopyMCItemStackMutable.getEnchantmentLevel(enchantment as MCEnchantment) as int
参数 | 类型 | 描述 |
---|---|---|
参数 enchantment | 类型 MCEnchantment | 描述 No Description Provided |
Name: getEnchantments
Return Type: int?[MCEnchantment]
ZenScript Copy// MCItemStackMutable.getEnchantments() as int?[MCEnchantment]
<item:minecraft:dirt>.mutable().getEnchantments();
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// MCItemStackMutable.getMaxStackSize() as int
<item:minecraft:dirt>.mutable().getMaxStackSize();
Name: getRarity
Returns the rarity of the Item in the ItemStack
Returns: Rarity of the Item.
Return Type: Rarity
ZenScript Copy// MCItemStackMutable.getRarity() as Rarity
<item:minecraft:dirt>.mutable().getRarity();
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// MCItemStackMutable.getRemainingItem(stack as IItemStack) as IItemStack
<item:minecraft:dirt>.mutable().getRemainingItem(<item:minecraft:iron_ingot>);
参数 | 类型 | 描述 |
---|---|---|
参数 堆叠 | 类型 IItemstack | 描述 The stack to provide for this ingredient. |
Name: isFood
Return Type: boolean
ZenScript Copy// MCItemStackMutable.isFood() as boolean
<item:minecraft:dirt>.mutable().isFood();
Name: isImmuneToFire
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// MCItemStackMutable.isImmuneToFire() as boolean
<item:minecraft:dirt>.mutable().isImmuneToFire();
Name: matches
Does the given stack match the ingredient?
Return Type: boolean
ZenScript Copy// MCItemStackMutable.matches(stack as IItemStack) as boolean
<item:minecraft:dirt>.mutable().matches(<item:minecraft:iron_ingot>);
参数 | 类型 | 描述 |
---|---|---|
参数 堆叠 | 类型 IItemstack | 描述 The stack to check |
Name: modifyShiftTooltip
Return Type: void
ZenScript CopyMCItemStackMutable.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction) as void
参数 | 类型 | 描述 | 可选 | DefaultValue |
---|---|---|---|---|
参数 shiftedFunction | 类型 ITooltipFunction | 描述 No Description Provided | 可选 false | DefaultValue |
参数 unshiftedFunction | 类型 ITooltipFunction | 描述 No Description Provided | 可选 true | DefaultValue |
Name: modifyTooltip
Return Type: void
ZenScript CopyMCItemStackMutable.modifyTooltip(function as ITooltipFunction) as void
参数 | 类型 | 描述 |
---|---|---|
参数 function | 类型 ITooltipFunction | 描述 No Description Provided |
Name: only
Use this if you already have the condition from another ingredient
Return Type: MCIngredientConditioned<IIngredient>
ZenScript CopyMCItemStackMutable.only(condition as IIngredientCondition<IIngredient>) as MCIngredientConditioned<IIngredient>
参数 | 类型 | 描述 |
---|---|---|
参数 condition | 类型 IIngredientCondition<IIngredient> | 描述 No Description Provided |
Name: onlyDamaged
Return Type: MCIngredientConditioned<IIngredient>
ZenScript Copy// MCItemStackMutable.onlyDamaged() as MCIngredientConditioned<IIngredient>
<item:minecraft:dirt>.mutable().onlyDamaged();
Name: onlyDamagedAtLeast
Return Type: MCIngredientConditioned<IIngredient>
ZenScript CopyMCItemStackMutable.onlyDamagedAtLeast(minDamage as int) as MCIngredientConditioned<IIngredient>
参数 | 类型 | 描述 |
---|---|---|
参数 minDamage | 类型 int | 描述 No Description Provided |
Name: onlyDamagedAtMost
Return Type: MCIngredientConditioned<IIngredient>
ZenScript CopyMCItemStackMutable.onlyDamagedAtMost(maxDamage as int) as MCIngredientConditioned<IIngredient>
参数 | 类型 | 描述 |
---|---|---|
参数 maxDamage | 类型 int | 描述 No Description Provided |
Name: onlyIf
Return Type: MCIngredientConditioned<IIngredient>
ZenScript CopyMCItemStackMutable.onlyIf(uid as string, function as Predicate<IItemStack>) as MCIngredientConditioned<IIngredient>
参数 | 类型 | 描述 | 可选 | DefaultValue |
---|---|---|---|---|
参数 uid | 类型 string | 描述 No Description Provided | 可选 false | DefaultValue |
参数 function | 类型 Predicate<IItemStack> | 描述 No Description Provided | 可选 true | DefaultValue |
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.
Return Type: void
ZenScript Copy// MCItemStackMutable.removeGlobalAttribute(attribute as Attribute, slotTypes as MCEquipmentSlotType[]) as void
<item:minecraft:dirt>.mutable().removeGlobalAttribute(<attribute:minecraft:generic.attack_damage>, [<equipmentslottype:chest>]);
参数 | 类型 | 描述 |
---|---|---|
参数 attribute | 类型 Attribute | 描述 The attribute to remove. |
参数 slotTypes | 类型 MCEquipmentSlotType[] | 描述 The slot types to remove it from. |
Name: removeGlobalAttributeModifier
Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.
Return Type: void
ZenScript Copy// MCItemStackMutable.removeGlobalAttributeModifier(uuid as string, slotTypes as MCEquipmentSlotType[]) as void
<item:minecraft:dirt>.mutable().removeGlobalAttributeModifier("8c1b5535-9f79-448b-87ae-52d81480aaa3", [<equipmentslottype:chest>]);
参数 | 类型 | 描述 |
---|---|---|
参数 uuid | 类型 string | 描述 The unique id of the AttributeModifier to remove. |
参数 slotTypes | 类型 MCEquipmentSlotType[] | 描述 The slot types to remove it from. |
Name: removeTooltip
Return Type: void
ZenScript CopyMCItemStackMutable.removeTooltip(regex as string) as void
参数 | 类型 | 描述 |
---|---|---|
参数 regex | 类型 string | 描述 No Description Provided |
Name: setImmuneToFire
Sets if this IItemStack is immune to fire / lava.
If true, the item will not burn when thrown into fire or lava.
Return Type: void
ZenScript Copy// MCItemStackMutable.setImmuneToFire(immuneToFire as boolean) as void
<item:minecraft:dirt>.mutable().setImmuneToFire(true);
参数 | 类型 | 描述 |
---|---|---|
参数 immuneToFire #免疫火焰 | 类型 布尔值 | 描述 Should the item be immune to fire. |
Name: setMaxStackSize
Sets the max stacksize of the Item.
Return Type: void
ZenScript Copy// MCItemStackMutable.setMaxStackSize(newMaxStackSize as int) as void
<item:minecraft:dirt>.mutable().setMaxStackSize(16);
参数 | 类型 | 描述 |
---|---|---|
参数 newMaxStackSize | 类型 int | 描述 The new max stack size of the Item. |
Name: setRarity
Sets the rarity of the Item.
Return Type: void
ZenScript Copy// MCItemStackMutable.setRarity(newRarity as Rarity) as void
<item:minecraft:dirt>.mutable().setRarity(Rarity.UNCOMMON);
参数 | 类型 | 描述 |
---|---|---|
参数 newRarity | 类型 Rarity | 描述 The new rarity of the Item. |
Name: weight
Return Type: MCWeightedItemStack
ZenScript CopyMCItemStackMutable.weight(weight as double) as MCWeightedItemStack
参数 | 类型 | 描述 |
---|---|---|
参数 weight | 类型 double | 描述 No Description Provided |
运算符
Link to 运算符
Name: CONTAINS
Does the ingredient contain the given ingredient?
ZenScript Copyingredient as IIngredient in myMCItemStackMutable
(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in <item:minecraft:dirt>.mutable()
Name: EQUALS
ZenScript CopymyMCItemStackMutable == o as Object
Name: MOD
ZenScript CopymyMCItemStackMutable % percentage as int
Name: OR
ZenScript CopymyMCItemStackMutable | other as IIngredient
名称 | 类型 | 可获得 | 可设置 | 描述 |
---|---|---|---|---|
名称 amount | 类型 int | 可获得 true | 可设置 false | 描述 Gets the amount of Items in the ItemStack |
名称 burnTime | 类型 int | 可获得 true | 可设置 true | 描述 No Description Provided |
名称 damageable | 类型 布尔值 | 可获得 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 | 类型 MCItemDefinition | 可获得 true | 可设置 false | 描述 No Description Provided |
名称 displayName | 类型 string | 可获得 true | 可设置 false | 描述 Gets the display name of the ItemStack |
名称 empty | 类型 布尔值 | 可获得 true | 可设置 false | 描述 Returns if the ItemStack is empty |
名称 enchantments | 类型 int?[MCEnchantment] | 可获得 true | 可设置 false | 描述 No Description Provided |
名称 food | 类型 MCFood? | 可获得 true | 可设置 true | 描述 No Description Provided |
名称 getOrCreate | 类型 IData #数据 | 可获得 true | 可设置 false | 描述 Returns the NBT tag attached to this ItemStack or makes a new tag. |
名称 getRepairCost | 类型 int | 可获得 true | 可设置 false | 描述 Gets the repair cost of the ItemStack, or 0 if no repair is defined. |
名称 hasDisplayName | 类型 布尔值 | 可获得 true | 可设置 false | 描述 Returns true if the ItemStack has a display name. |
名称 hasEffect | 类型 布尔值 | 可获得 true | 可设置 false | 描述 Returns true if this ItemStack has an effect. |
名称 hasTag | 类型 布尔值 | 可获得 true | 可设置 false | 描述 Returns true if this ItemStack has a Tag |
名称 immuneToFire #免疫火焰 | 类型 void | 可获得 true | 可设置 true | 描述 Sets if this IItemStack is immune to fire / lava. If true, the item will not burn when thrown into fire or lava. |
名称 isCrossbow | 类型 布尔值 | 可获得 true | 可设置 false | 描述 Returns true if this stack is considered a crossbow item |
名称 isEnchantable | 类型 布尔值 | 可获得 true | 可设置 false | 描述 Can this ItemStack be enchanted? |
名称 isEnchanted | 类型 布尔值 | 可获得 true | 可设置 false | 描述 Is this ItemStack enchanted? |
名称 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 | 类型 MCResourceLocation | 可获得 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. |
名称 toolTypes | 类型 ToolType[] | 可获得 true | 可设置 false | 描述 No Description Provided |
名称 translationKey | 类型 string | 可获得 true | 可设置 false | 描述 Returns the unlocalized Name of the Item in the ItemStack |
名称 useDuration | 类型 int | 可获得 true | 可设置 false | 描述 Gets the use duration of the ItemStack |