-
Notifications
You must be signed in to change notification settings - Fork 1
Documentation
Meredith Espinosa edited this page Jul 20, 2021
·
2 revisions
Currently, Data Overhaul adds two new data constructs: Materials and Recipe Templates.
Materials are a JSON file containing up to three fields.
-
"type"(string, optional) - The general type of material this is. Typically eitherwooden,stone, ormetal. -
"variants"(object) - A key-value map of variant names (ex.stairs,pickaxe,ingot, etc.) to item IDs. -
"ignore"(list, optional) - A list of identifiers for templates this material should not apply to, even if the template can accept the material.
Recipe templates take the form of recipe JSON files with specific changes to set up replacement, along with a new mandatory $requirements object field. $requirements can contain up to two fields:
-
"type"(string, optional) - The type of material this recipe is for. Materials which have a different type will not be applied to this template. -
"variants"- (array) - A list of variants required for this recipe. Materials which do not have all the required variants will not be applied to this template.
Any string field at any level of the JSON recipe can replaced with a fillin field by appending one of three suffixes to the field name:
-
$variant- Replaces the value with the material's variant of that name, ex."item$variant": "pickaxe"for diamond would fill to"item": "minecraft:diamond_pickaxe" -
$material- Prepends the material's name to the beginning of the value, ex."group$material": "ingot"for copper would fill to"group: copper_ingot" -
$type- Prepends the material's type to the beginning of the value, ex."group$type": "slab" for wooden materials would fill to"group": "wooden_slab"`
Fillin fields can be applied to any field, regardless of its original name, as long as the value is a single string. The $requirements field is removed from the filled-in JSON value before the recipe is loaded by Minecraft.
See the sample code for concrete examples.