Recipe System
MBD2 21.1.1An MBDRecipeType groups MBD recipes. A machine selects one recipe type; recipe logic finds a matching recipe by asking its traits to handle each input and output capability.

Recipe contents
Each entry has a direction (input or output) and a RecipeCapability. Entries can also be:
| Field | Meaning |
|---|---|
perTick | Consume or produce while the recipe works instead of at its boundary |
chance | Base probability for this entry |
tierChanceBoost | Additional probability per machine level |
slotName | Limit handling to Traits advertising that slot name |
uiName | Bind display to a named recipe-viewer widget |
duration defaults to 100 ticks in the KubeJS builder. priority orders candidates — lower values are tried first. Use KubeJS recipes for runnable builder examples.
Conditions and custom data
Conditions are evaluated before work begins and again while the recipe works. Recipe custom data is an NBT compound available to machine logic, blueprints and event integrations; it does not create a Trait or change behaviour on its own.
Changing a recipe at runtime
| Want | Use |
|---|---|
| Scale amounts, duration or parallel | Recipe modifiers on the machine's recipe logic |
| Change what a recipe trades | A blueprint on Recipe Modify (Before), or KubeJS |
| Reject a candidate | A RecipeCondition, not an event |
Next: Capabilities and conditions.