The CraftTweaker Ingredient class which is used to power our recipes and ItemStack matching.

Импорт класса

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
Copy
import crafttweaker.api.ingredient.IIngredient;

Implemented Interfaces

Link to implemented-interfaces

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

Result TypeЯвляется неявным
Result Type
IData
Является неявным
true
Result Type
IIngredientWithAmount
Является неявным
true
Result Type
Ingredient
Является неявным
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
// IIngredient.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

<tag:items:minecraft:wool>.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
// IIngredient.addGlobalAttributeModifier(attribute as Attribute, uuid as invalid, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

<tag:items:minecraft:wool>.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
// IIngredient.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as EquipmentSlot[])

<tag:items:minecraft:wool>.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
IIngredient.addShiftTooltip(content as Component, showMessage as Component)
ПараметрТипOptional
Параметр
контент
Тип
Component
Optional
false
Параметр
showMessage
Тип
Component
Optional
true

Name: addTooltip

ZenScript
Copy
IIngredient.addTooltip(content as Component)
ПараметрТип
Параметр
контент
Тип
Component

Name: anyDamage

Return Type: IngredientConditioned<IIngredient>

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

<tag:items:minecraft:wool>.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
// IIngredient.asIIngredientWithAmount() as IIngredientWithAmount

<tag:items:minecraft:wool>.asIIngredientWithAmount();

Link to asVanillaIngredient

Name: asVanillaIngredient

Create a Vanilla ingredient matching this one.

Return Type: Ingredient

ZenScript
Copy
// IIngredient.asVanillaIngredient() as Ingredient

<tag:items:minecraft:wool>.asVanillaIngredient();

Name: clearTooltip

ZenScript
Copy
IIngredient.clearTooltip(leaveName as boolean)
ПараметрТипOptionalDefault Value
Параметр
leaveName
Тип
boolean
Optional
true
Default Value
false

Name: contains

Does the ingredient contain the given ingredient?

Return Type: boolean

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

<tag:items:minecraft:wool>.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
// IIngredient.getRemainingItem(stack as IItemStack) as IItemStack

<tag:items:minecraft:wool>.getRemainingItem(<item:minecraft:iron_ingot>);
ПараметрТипОписание
Параметр
stack
Тип
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
// IIngredient.isEmpty() as boolean

<tag:items:minecraft:wool>.isEmpty();

Name: matches

Does the given stack match the ingredient?

Return Type: boolean

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

<tag:items:minecraft:wool>.matches(<item:minecraft:iron_ingot>);
ПараметрТипОписание
Параметр
stack
Тип
IItemStack
Описание
The stack to check

Name: matches

Does the given stack match the ingredient?

Return Type: boolean

ZenScript
Copy
IIngredient.matches(stack as IItemStack, ignoreDamage as boolean) as boolean
ПараметрТипОписание
Параметр
stack
Тип
IItemStack
Описание
The stack to check
Параметр
Игнорирование
Тип
boolean
Описание
Should damage be checked?

Link to modifyShiftTooltip

Name: modifyShiftTooltip

ZenScript
Copy
IIngredient.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction)
ПараметрТипOptional
Параметр
shiftedFunction
Тип
ITooltipFunction
Optional
false
Параметр
unshiftedFunction
Тип
ITooltipFunction
Optional
true

Name: modifyTooltip

ZenScript
Copy
IIngredient.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
IIngredient.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
IIngredient.only(condition as IIngredientCondition<IIngredient>) as IngredientConditioned<IIngredient>
ПараметрТип
Параметр
condition
Тип
IIngredientCondition<IIngredient>

Name: onlyDamaged

Return Type: IngredientConditioned<IIngredient>

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

<tag:items:minecraft:wool>.onlyDamaged();

Link to onlyDamagedAtLeast

Name: onlyDamagedAtLeast

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IIngredient.onlyDamagedAtLeast(minDamage as int) as IngredientConditioned<IIngredient>
ПараметрТип
Параметр
minDamage
Тип
int

Link to onlyDamagedAtMost

Name: onlyDamagedAtMost

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IIngredient.onlyDamagedAtMost(maxDamage as int) as IngredientConditioned<IIngredient>
ПараметрТип
Параметр
maxDamage
Тип
int

Name: onlyIf

Return Type: IngredientConditioned<IIngredient>

ZenScript
Copy
IIngredient.onlyIf(uid as string, function as Predicate<IItemStack>) as IngredientConditioned<IIngredient>
ПараметрТипOptional
Параметр
uid
Тип
string
Optional
false
Параметр
function
Тип
Predicate<IItemStack>
Optional
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
// IIngredient.removeGlobalAttribute(attribute as Attribute, slotTypes as EquipmentSlot[])

<tag:items:minecraft:wool>.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
// IIngredient.removeGlobalAttributeModifier(uuid as invalid, slotTypes as EquipmentSlot[])

<tag:items:minecraft:wool>.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
// IIngredient.removeGlobalAttributeModifier(uuid as string, slotTypes as EquipmentSlot[])

<tag:items:minecraft:wool>.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
IIngredient.removeTooltip(regex as string)
ПараметрТип
Параметр
regex
Тип
string

Name: reuse

Return Type: IIngredientTransformed<IIngredient>

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

<tag:items:minecraft:wool>.reuse();

Name: setBurnTime

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

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

<tag:items:minecraft:wool>.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
IIngredient.transform(transformer as IIngredientTransformer<IIngredient>) as IIngredientTransformed<IIngredient>
ПараметрТип
Параметр
трансформатор
Тип
IIngredientTransformer<IIngredient>

Name: transformCustom

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IIngredient.transformCustom(uid as string, function as Function<IItemStack,IItemStack>) as IIngredientTransformed<IIngredient>
ПараметрТипOptional
Параметр
uid
Тип
string
Optional
false
Параметр
function
Тип
Function<IItemStack,IItemStack>
Optional
true

Name: transformDamage

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IIngredient.transformDamage(amount as int) as IIngredientTransformed<IIngredient>
ПараметрТипOptionalDefault Value
Параметр
amount
Тип
int
Optional
true
Default Value
1

Link to transformReplace

Name: transformReplace

Return Type: IIngredientTransformed<IIngredient>

ZenScript
Copy
IIngredient.transformReplace(replaceWith as IItemStack) as IIngredientTransformed<IIngredient>
ПараметрТип
Параметр
replaceWith
Тип
IItemStack

Операторы

Link to операторы

Name: CONTAINS

Does the ingredient contain the given ingredient?

ZenScript
Copy
ingredient as IIngredient in myIIngredient
(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in <tag:items:minecraft:wool>

Name: MUL

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

ZenScript
Copy
myIIngredient * amount as int

Name: OR

ZenScript
Copy
myIIngredient | other as IIngredient

Свойства

Link to свойства

НазваниеТипИмеет GetterИмеет SetterОписание
Название
burnTime
Тип
void
Имеет Getter
false
Имеет Setter
true
Описание
Sets the burn time of this ingredient, for use in the furnace and other machines
Название
commandString
Тип
string
Имеет Getter
true
Имеет Setter
false
Описание
Returns the BEP to get this stack
Название
empty
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Checks if this ingredient is empty.
Название
items
Тип
IItemStack[]
Имеет Getter
true
Имеет Setter
false
Описание