IIngredientList
Link to iingredientlist
导入类
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.ingredient.type.IIngredientList;
已实现的接口
Link to 已实现的接口
IIngredientList implements the following interfaces. That means all methods defined in these interfaces are also available in IIngredientList
Constructor #构造函数
Link to constructor-构造函数
ZenScript Copynew IIngredientList(ingredients as IIngredient[]) as IIngredientList
参数 | 类型 |
---|---|
参数 ingredients | 类型 IIngredient[] |
Casters
Link to casters
Result Type | 是否隐藏 |
---|---|
Result Type IData #数据 | 是否隐藏 true |
Result Type IIngredientWithAmount | 是否隐藏 true |
Result Type MapData #地图数据 | 是否隐藏 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
ZenScript Copy// IIngredientList.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])
myIIngredientList.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. |
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// IIngredientList.addGlobalAttributeModifier(attribute as Attribute, uuid as invalid, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])
myIIngredientList.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. |
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// IIngredientList.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])
myIIngredientList.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: anyDamage
Return Type: IngredientConditioned<IIngredient>
ZenScript Copy// IIngredientList.anyDamage() as IngredientConditioned<IIngredient>
myIIngredientList.anyDamage();
Name: asIIngredientWithAmount
Used implicitly when a machine can accept more than one item but you only provide one.
Return Type: IIngredientWithAmount
ZenScript Copy// IIngredientList.asIIngredientWithAmount() as IIngredientWithAmount
myIIngredientList.asIIngredientWithAmount();
Name: clearTooltip
ZenScript CopyIIngredientList.clearTooltip(leaveName as boolean)
参数 | 类型 | 可选 | 默认值 |
---|---|---|---|
参数 leaveName | 类型 布尔值 | 可选 true | 默认值 false |
Name: contains
Does the ingredient contain the given ingredient?
Return Type: boolean
ZenScript Copy// IIngredientList.contains(ingredient as IIngredient) as boolean
myIIngredientList.contains((<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>));
参数 | 类型 | 描述 |
---|---|---|
参数 ingredient | 类型 材料(IIngredient) | 描述 The ingredient to check |
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// IIngredientList.getRemainingItem(stack as IItemStack) as IItemStack
myIIngredientList.getRemainingItem(<item:minecraft:iron_ingot>);
参数 | 类型 | 描述 |
---|---|---|
参数 堆叠 | 类型 IItemstack | 描述 The stack to provide for this ingredient. |
Name: matches
Does the given stack match the ingredient?
Return Type: boolean
ZenScript Copy// IIngredientList.matches(stack as IItemStack) as boolean
myIIngredientList.matches(<item:minecraft:iron_ingot>);
参数 | 类型 | 描述 |
---|---|---|
参数 堆叠 | 类型 IItemstack | 描述 The stack to check |
Name: modifyShiftTooltip
ZenScript CopyIIngredientList.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction)
参数 | 类型 | 可选 |
---|---|---|
参数 shiftedFunction | 类型 ITooltipFunction | 可选 false |
参数 unshiftedFunction | 类型 ITooltipFunction | 可选 true |
Name: modifyTooltip
ZenScript CopyIIngredientList.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 CopyIIngredientList.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 CopyIIngredientList.only(condition as IIngredientCondition<IIngredient>) as IngredientConditioned<IIngredient>
参数 | 类型 |
---|---|
参数 condition | 类型 IIngredientCondition<IIngredient> |
Name: onlyDamaged
Return Type: IngredientConditioned<IIngredient>
ZenScript Copy// IIngredientList.onlyDamaged() as IngredientConditioned<IIngredient>
myIIngredientList.onlyDamaged();
Name: onlyDamagedAtLeast
Return Type: IngredientConditioned<IIngredient>
ZenScript CopyIIngredientList.onlyDamagedAtLeast(minDamage as int) as IngredientConditioned<IIngredient>
参数 | 类型 |
---|---|
参数 minDamage | 类型 int |
Name: onlyDamagedAtMost
Return Type: IngredientConditioned<IIngredient>
ZenScript CopyIIngredientList.onlyDamagedAtMost(maxDamage as int) as IngredientConditioned<IIngredient>
参数 | 类型 |
---|---|
参数 maxDamage | 类型 int |
Name: onlyIf
Return Type: IngredientConditioned<IIngredient>
ZenScript CopyIIngredientList.onlyIf(uid as string, function as Predicate<IItemStack>) as IngredientConditioned<IIngredient>
参数 | 类型 | 可选 |
---|---|---|
参数 uid | 类型 string | 可选 false |
参数 function | 类型 Predicate<IItemStack> | 可选 true |
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// IIngredientList.removeGlobalAttribute(attribute as Attribute, slotTypes as EquipmentSlot[])
myIIngredientList.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. |
Name: removeGlobalAttributeModifier
Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.
ZenScript Copy// IIngredientList.removeGlobalAttributeModifier(uuid as invalid, slotTypes as EquipmentSlot[])
myIIngredientList.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. |
Name: removeGlobalAttributeModifier
Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.
ZenScript Copy// IIngredientList.removeGlobalAttributeModifier(uuid as string, slotTypes as EquipmentSlot[])
myIIngredientList.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 CopyIIngredientList.removeTooltip(regex as string)
参数 | 类型 |
---|---|
参数 regex | 类型 string |
Name: reuse
Return Type: IIngredientTransformed<IIngredient>
ZenScript Copy// IIngredientList.reuse() as IIngredientTransformed<IIngredient>
myIIngredientList.reuse();
Name: setBurnTime
Sets the burn time of this ingredient, for use in the furnace and other machines
ZenScript Copy// IIngredientList.setBurnTime(time as int)
myIIngredientList.setBurnTime(500);
参数 | 类型 | 描述 |
---|---|---|
参数 time | 类型 int | 描述 the new burn time |
Name: transform
Use this if you already have the transformer from another ingredient
Return Type: IIngredientTransformed<IIngredient>
ZenScript CopyIIngredientList.transform(transformer as IIngredientTransformer<IIngredient>) as IIngredientTransformed<IIngredient>
参数 | 类型 |
---|---|
参数 变压器 | 类型 IIngredientTransformer<IIngredient> |
Name: transformCustom
Return Type: IIngredientTransformed<IIngredient>
ZenScript CopyIIngredientList.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 CopyIIngredientList.transformDamage(amount as int) as IIngredientTransformed<IIngredient>
参数 | 类型 | 可选 | 默认值 |
---|---|---|---|
参数 amount | 类型 int | 可选 true | 默认值 1 |
Name: transformReplace
Return Type: IIngredientTransformed<IIngredient>
ZenScript CopyIIngredientList.transformReplace(replaceWith as IItemStack) as IIngredientTransformed<IIngredient>
参数 | 类型 |
---|---|
参数 replaceWith | 类型 IItemstack |
运算符
Link to 运算符
Name: CONTAINS
Does the ingredient contain the given ingredient?
ZenScript Copyingredient as IIngredient in myIIngredientList
(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in myIIngredientList
Name: MUL
Use this in contexts where machines accept more than one item to state that fact.
ZenScript CopymyIIngredientList * amount as int
名称 | 类型 | 可获得 | 可设置 | 描述 |
---|---|---|---|---|
名称 burnTime | 类型 void | 可获得 false | 可设置 true | 描述 Sets the burn time of this ingredient, for use in the furnace and other machines |