IngredientConditioned<T : IIngredient>

Link to ingredientconditionedt--iingredient

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.ingredient.type.IngredientConditioned;

已实现的接口

Link to 已实现的接口

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

Result Type是否隐藏
Result Type
IData #数据
是否隐藏
true
Result Type
IIngredientWithAmount
是否隐藏
true
Result Type
MapData #地图数据
是否隐藏
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
// IngredientConditioned.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

myIngredientConditioned.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
// IngredientConditioned.addGlobalAttributeModifier(attribute as Attribute, uuid as invalid, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

myIngredientConditioned.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
// IngredientConditioned.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

myIngredientConditioned.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
IngredientConditioned.addShiftTooltip(content as Component, showMessage as Component)
参数类型可选
参数
内容
类型
Component
可选
false
参数
showMessage
类型
Component
可选
true

Name: addTooltip

ZenScript
Copy
IngredientConditioned.addTooltip(content as Component)
参数类型
参数
内容
类型
Component

Name: anyDamage

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
// IngredientConditioned.anyDamage() as IngredientConditioned<IIngredient>

myIngredientConditioned.anyDamage();

Link to asIIngredientWithAmount

Name: asIIngredientWithAmount

Used implicitly when a machine can accept more than one item but you only provide one.

Return Type: IIngredientWithAmount

ZenScript
Copy
// IngredientConditioned.asIIngredientWithAmount() as IIngredientWithAmount

myIngredientConditioned.asIIngredientWithAmount();

Name: clearTooltip

ZenScript
Copy
IngredientConditioned.clearTooltip(leaveName as boolean)
参数类型可选默认值
参数
leaveName
类型
布尔值
可选
true
默认值
false

Name: contains

Does the ingredient contain the given ingredient?

Return Type: boolean

ZenScript
Copy
// IngredientConditioned.contains(ingredient as IIngredient) as boolean

myIngredientConditioned.contains((<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>));
参数类型描述
参数
ingredient
类型
材料(IIngredient)
描述
The ingredient to check

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
// IngredientConditioned.getRemainingItem(stack as IItemStack) as IItemStack

myIngredientConditioned.getRemainingItem(<item:minecraft:iron_ingot>);
参数类型描述
参数
堆叠
类型
IItemstack
描述
The stack to provide for this ingredient.

Name: isEmpty

Checks if this ingredient is empty.

Returns: true if empty, false otherwise
Return Type: boolean

ZenScript
Copy
// IngredientConditioned.isEmpty() as boolean

myIngredientConditioned.isEmpty();

Name: matches

Does the given stack match the ingredient?

Return Type: boolean

ZenScript
Copy
// IngredientConditioned.matches(stack as IItemStack) as boolean

myIngredientConditioned.matches(<item:minecraft:iron_ingot>);
参数类型描述
参数
堆叠
类型
IItemstack
描述
The stack to check

Name: matches

Return Type: boolean

ZenScript
Copy
IngredientConditioned.matches(stack as IItemStack, ignoreDamage as boolean) as boolean
参数类型
参数
堆叠
类型
IItemstack
参数
忽略伤害
类型
布尔值

Link to modifyShiftTooltip

Name: modifyShiftTooltip

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

Name: modifyTooltip

ZenScript
Copy
IngredientConditioned.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
IngredientConditioned.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
IngredientConditioned.only(condition as IIngredientCondition<IIngredient>) as IngredientConditioned<IIngredient>
参数类型
参数
condition
类型
IIngredientCondition<IIngredient>

Name: onlyDamaged

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
// IngredientConditioned.onlyDamaged() as IngredientConditioned<IIngredient>

myIngredientConditioned.onlyDamaged();

Link to onlyDamagedAtLeast

Name: onlyDamagedAtLeast

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IngredientConditioned.onlyDamagedAtLeast(minDamage as int) as IngredientConditioned<IIngredient>
参数类型
参数
minDamage
类型
int

Link to onlyDamagedAtMost

Name: onlyDamagedAtMost

Return Type: IngredientConditioned<IIngredient>

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

Name: onlyIf

Return Type: IngredientConditioned<IIngredient>

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

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
// IngredientConditioned.removeGlobalAttribute(attribute as Attribute, slotTypes as EquipmentSlot[])

myIngredientConditioned.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
// IngredientConditioned.removeGlobalAttributeModifier(uuid as invalid, slotTypes as EquipmentSlot[])

myIngredientConditioned.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
// IngredientConditioned.removeGlobalAttributeModifier(uuid as string, slotTypes as EquipmentSlot[])

myIngredientConditioned.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
IngredientConditioned.removeTooltip(regex as string)
参数类型
参数
regex
类型
string

Name: reuse

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
// IngredientConditioned.reuse() as IIngredientTransformed<IIngredient>

myIngredientConditioned.reuse();

Name: setBurnTime

Sets the burn time of this ingredient, for use in the furnace and other machines

ZenScript
Copy
// IngredientConditioned.setBurnTime(time as int)

myIngredientConditioned.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
Copy
IngredientConditioned.transform(transformer as IIngredientTransformer<IIngredient>) as IIngredientTransformed<IIngredient>
参数类型
参数
变压器
类型
IIngredientTransformer<IIngredient>

Name: transformCustom

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IngredientConditioned.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
IngredientConditioned.transformDamage(amount as int) as IIngredientTransformed<IIngredient>
参数类型可选默认值
参数
amount
类型
int
可选
true
默认值
1

Link to transformReplace

Name: transformReplace

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IngredientConditioned.transformReplace(replaceWith as IItemStack) as IIngredientTransformed<IIngredient>
参数类型
参数
replaceWith
类型
IItemstack

Name: CONTAINS

Does the ingredient contain the given ingredient?

ZenScript
Copy
ingredient as IIngredient in myIngredientConditioned
(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in myIngredientConditioned

Name: MUL

Use this in contexts where machines accept more than one item to state that fact.

ZenScript
Copy
myIngredientConditioned * amount as int

Name: OR

ZenScript
Copy
myIngredientConditioned | other as IIngredient
名称类型可获得可设置描述
名称
基本属性
类型
T
可获得
true
可设置
false
描述
名称
burnTime
类型
void
可获得
false
可设置
true
描述
Sets the burn time of this ingredient, for use in the furnace and other machines
名称
condition
类型
IIngredientCondition<T>
可获得
true
可设置
false
描述
名称
empty
类型
布尔值
可获得
true
可设置
false
描述
Checks if this ingredient is empty.
名称
items
类型
IItemStack[]
可获得
true
可设置
false
描述