Ingredient Bindings
TFC has several ingredient types that it uses in its recipes
Fluid Item
See the main page!
Method Signature
TFC.ingredient.fluid(delegate?: Ingredient, fluid: FluidStackIngredient): Ingredient
- Optional 1st argument: An item ingredient to which this ingredient applies to
 - 2nd argument: A fluid stack ingredient, the fluid(s) this ingredient matches
 
Creates an ingredient of type tfc:fluid_item with the fluid ingredient defined by the fluid argument and the item ingredient defined by the delegate argument
Examples
TFC.ingredient.fluid('#tfc:molds', TFC.fluidStackIngredient(['minecraft:water', '#minecraft:lava'], 50))
TFC.ingredient.fluid(TFC.fluidStackIngredient('tfc:metal/zinc', 40))
In json:
{
    "type": "tfc:fluid_item",
    "ingredient": {
        "tag": "tfc:molds"
    },
    "fluid_ingredient": {
        "ingredient": [   
            {
                "fluid": "minecraft:water"
            },
            {
                "tag": "minecraft:lava"
            }
        ],
        "amount": 50
    }
}
{
    "type": "tfc:fluid_item",
    "fluid_ingredient": {
        "ingredient": {
            "fluid": "tfc:metal/zinc"
        },
        "amount": 40
    }
}
Has Trait
See the main page!
Method Signature
TFC.ingredient.hasTrait(delegate?: Ingredient, trait: String): Ingredient
- Optional 1st argument: An item ingredient to which this ingredient applies to
 - 2nd argument: The name of the food trait which must be present
 
Creates an ingredient of type tfc:has_trait with the trait defined by the trait argument and the item ingredient defined by the delegate ingredient
Examples
TFC.ingredient.hasTrait('#tfc:fruits', 'tfc:brined')
TFC.ingredient.hasTrait('tfc:in_vinegar')
In json:
{
    "type": "tfc:has_trait",
    "ingredient": {
        "tag": "tfc:fruits"
    },
    "trait": "tfc:brined"
}
{
    "type": "tfc:has_trait",
    "trait": "tfc:in_vinegar"
}
Heatable
See the main page!
Method Signature
TFC.ingredient.heatable(delegate?: Ingredient, min: @Nullable number, max: @Nullable number): Ingredient
- Optional 1st argument: An item ingredient, limits the items to which this ingredient applies to
 - Nullable 2nd argument: A number, the minimum temperature of the ingredient, may be null to not specify a minimum temperature
 - Nullable 3rd argument: A number, the maximum temperature of the ingredient, may be null to not specify a maximum temperature
 
Creates an ingredient of type tfc:heatable with the minimum and maximum temperatures defined by the min and max arguments, and the ingredient defined by the delegate argument
Examples
TFC.ingredient.heatable('minecraft:iron_ingot', null, 673)
TFC.ingredient.heatable(750, 895)
In json:
{
    "type": "tfc:heatable",
    "ingredient": {
        "item": "minecraft:iron_ingot"
    },
    "max_temp": 673
}
{
    "type": "tfc:heatable",
    "min_temp": 750,
    "max_temp": 865
}
Lacks Trait
See the main page!
Method Signature
TFC.ingredient.lacksTrait(delegate?: Ingredient, trait: String): Ingredient
- Optional 1st argument: An item ingredient, limits the items to which this ingredient applies
 - 2nd argument: The name of the food trait which must not be present
 
Creates an ingredient of type tfc:lacks_trait with the trait defined by the trait argument and the ingredient defined by the delegate argument
Examples
TFC.ingredient.lacksTrait('tfc:food/green_apple', 'tfc:brined')
TFC.ingredient.lacksTrait('tfc:burnt')
In json:
{
    "type": "tfc:lacks_trait",
    "ingredient": {
        "item": "tfc:food/green_apple"
    },
    "trait": "tfc:brined"
}
{
    "type": "tfc:lacks_trait",
    "trait": "tfc:burnt"
}
Not
See the main page!
Method Signature
TFC.ingredient.not(delegate?: Ingredient): Ingredient
- Optional 1st argument: An item ingredient to which the ingredient is applied
 
Creates an ingredient of type tfc:not with the ingredient defined by the delegate argument
Examples
TFC.ingredient.not('#minecraft:flowers')
TFC.ingredient.not()
In json:
{
    "type": "tfc:not",
    "ingredient": {
        "tag": "minecraft:flowers"
    }
}
{
    "type": "tfc:not"
}
Not Rotten
See the main page!
Method Signature
TFC.ingredient.notRotten(delegate?: Ingredient): Ingredient
- Optional 1st argument: An item ingredient to which the ingredient is applied to
 
Creates an ingredient of type tfc:not_rotten with the ingredient defined by the delegate argument
Examples
TFC.ingredient.notRotten('minecraft:cooked_porkchop')
TFC.ingredient.notRotten()
In json:
{
    "type": "tfc:not_rotten",
    "ingredient": {
        "item": "minecraft:cooked_porkchop"
    }
}
{
    "type": "tfc:not_rotten"
}