For example, if I want to change a recipe for the item so that it uses completely different items, how do I do so?
You need to completely recreate the entry. For example, I made this test modification that changes cordless drill recipe:
Summary
{
"type": "recipe",
"result": "cordless_drill",
"category": "CC_ELECTRONIC",
"subcategory": "CSC_ELECTRONIC_TOOLS",
"components": [
[ [ "boots_rubber", 1 ] ]
]
}
But this sets crafting time to 0, removes all other prerequisites and so on. So I would need something like this instead:
Summary
{
"type": "recipe",
"result": "cordless_drill",
"category": "CC_ELECTRONIC",
"subcategory": "CSC_ELECTRONIC_TOOLS",
"skill_used": "fabrication",
"skills_required": [ "electronics", 3 ],
"difficulty": 4,
"time": "20 m",
"reversible": true,
"decomp_learn": 4,
"book_learn": [ [ "advanced_electronics", 3 ], [ "textbook_electronics", 3 ] ],
"using": [ [ "soldering_standard", 10 ], [ "surface_heat", 10 ] ],
"qualities": [ { "id": "SCREW", "level": 1 } ],
"tools": [ [ [ "mold_plastic", -1 ] ] ],
"components": [
[ [ "boots_rubber", 1 ] ]
]
}
I think item definitions did have some inheritance but the number of attributes you had to explicitly add anyway was around 80% or more. Maybe this have changed since because development is very active.
That’s where the "copy-from"
tag could help (if it’s possible to apply those to recipes, I’m not sure about that).
In your example case, "copy-from": "cordless_drill"
.
Oh, right, I forgot about that. Does it work well for overriding existing recipes? I do remember that it worked for items.