Ingredient Bindings

Bindings for creating TFC’s ingredient types

declare class IngredientBindings {

    // These are available via TFC.ingredient.*

    blockIngredient(blocks: List<Block>): BlockIngredient
    tagBlockIngredient(tag: TagKey<Block>): BlockIngredient
    notRotten(): Ingredient
    rotten(): Ingredient
    hasTrait(trait: Holder<FoodTrait>): Ingredient
    lacksTrait(trait: Holder<FoodTrait>): Ingredient
    heat(min: number, max?: number): Ingredient
    fluidContents(ingredient: SizedFluidIngredient): Ingredient
    fluidContents(fluid: Fluid, amount: int): Ingredient
    and(ingredients...: Ingredient[]): Ingredient
}
  • : Creates a block ingredient that matches the given blocks
  • : Creates a block ingredient that matches the given tag
  • : Creates a tfc:not_rotten ingredient
  • : Creates a tfc:rotten ingredient
  • : Creates a tfc:has_trait ingredient that accepts any stack with the given trait
  • : Creates a tfc:lacks_trait ingredient that denies any stacks with the given trait
  • : Creates a tfc:heat ingredient, matching items with temperatures in the range [min,Infinity) or [min,max]
  • : Creates a tfc:fluid_contents ingredient with the contents filter being the given fluid ingredient
  • : Creates a tfc:fluid_contents ingredient that only matches the given fluid with the given amount
  • : Creates a tfc:and ingredient, a variation on NeoForge’s intersection ingredient which properly displays TFC ingredient types in recipe viewers