Process Recipes
Process recipes define what a formed machine does. A recipe names the structure it belongs to, how long it runs, what it consumes, and what it outputs.
Recipes belong in datapacks under the normal recipe path:
data/<namespace>/recipes/<path>.json
Minimal shape
{
"type": "mm:process",
"structureId": "mypack:my_structure",
"ticks": 60,
"inputs": [],
"outputs": []
}
| Field | Meaning |
|---|---|
type |
Recipe serializer. Use mm:process for Masterful Machinery process recipes. |
structureId |
ID of the structure that can run this recipe. |
ticks |
Recipe duration in game ticks. 20 ticks = 1 second. |
inputs |
List of input entries, usually mm:input/consume. |
outputs |
List of output entries, usually mm:output/simple. |
conditions |
Optional list of dimension/weather restrictions. |
parallelProcessing |
Optional per-recipe parallel-processing override. |
Parallel processing
{
"type": "mm:process",
"structureId": "mypack:my_structure",
"ticks": 100,
"parallelProcessing": true,
"inputs": [],
"outputs": []
}
Recipe-level parallelProcessing overrides the structure/controller/global default for that recipe.
Entry options
Input and output entries support:
"chance": 0.25,
"per_tick": true
| Field | Default | Meaning |
|---|---|---|
chance |
1.0 |
Random chance from 0.0 to 1.0. |
per_tick |
false |
When true, the ingredient is consumed or produced during recipe ticks instead of once at completion. |