This page is about the JSON to make a material craftable. For the JSON to define the material, see Material Format. For the JSON to craft tool parts and other material items, see Part Recipes.

In order for a material to be craftable and repairable, its neccessary to define one or more recipes.

Items

The material item recipe associates an item with a material. This association allows using the item to repair tools if the material is on a repairable part. In addition, if the material is marked as craftable in it’s material definition, this recipe allows using that item to craft the material in the part builder.

A given item can only be associated with one material, otherwise there may be conflicts when crafting or repairing. Similarly, if the item is used by itself in a modifier recipe, it may conflict with being used as a material item.

Material item recipes have the following format:

  • (Object): The recipe object.
    • type (Resource Location): Recipe serializer ID, always tconstruct:material.
    • group (String): Recipe group for the recipe book, currently unused.
    • ingredient (Item Ingredient): Items to associate with the material.
    • value (Integer): Value associated with this recipe, in comparison to the material’s base unit. For example, a block of metal would have a value of 9 compared to the base unit of ingots. If unset, defaults to 1.
    • needed (Integer): Denominator of the value associated with this recipe, allows an item to represent a fraction of the base unit. For example, a nugget would have a value of 1 with needed set to 9 to indicate it represents 1/9 of the base unit of ingot. If unset, defaults to 1.
    • material (Material Variant): Material variant produced by this recipe. Note that when repairing, just the material ID is matched; the variant is ignored.
    • leftover (Item Output): Leftover item stack (supporting count) produced when only part of value is required for a recipe. If unset, defaults to an empty item stack. Unused if value is 1.

Casting and Composite

The material fluid recipe is used to define a fluid needed for casting a material. This recipe is also used to define the fluid for composite casting a material from a fluid on another material.

Material casting recipes have the folllowing format:

  • (Object): The recipe object.
    • type (Resource Location): Recipe serializer ID, always tconstruct:material_fluid.
    • fluid (Fluid Ingredient): Fluid used to cast this material. Amount will be scaled based on the part cost.
    • temperature (Integer): Fluid temperature. Used to determine how long it takes the part to cool after casting.
    • output (Material Variant): Material variant produced by this recipe.
    • input (Material Variant): If set, this recipe defines composite castng using input as a base. If unset, this recipe defines standard part casting using a cast as the base.

Melting

Material melting recipes allow melting tool parts into the appropriate fluid in a smeltery, melter, or foundry. The cost for melting is determined through lookup on the part casting recipe.

  • (Object): The recipe object.
    • type (Resource Location): Recipe serializer ID, always tconstruct:material_melting.
    • input (Material Variant): Material melted by this recipe.
    • temperature (Integer): Fluid temperature. Used to determine how long it takes the part to melt, and allows gating the recipe using the fuel temperature.
    • result (Fluid Stack): Result fluid for melting this material. Size will be scaled based on the part cost. May not be empty, and ignores NBT.