Data Packs - Recipes
Crafter Recipes
While Item Tags determine the recipes that workers can be taught, colonists can also automatically learn special Crafter Recipes. These recipes can be different than those available to the player or even reflect items that can't be made in any other way. Unlike Tags, Crafter Recipes can and must hold a large number of properties, some containing arrays or objects of properties themselves. Supported properties include:
Crafter Recipe Key Name | Type | Description |
---|---|---|
type | String | "recipe" to add a recipe, and "remove" to disable one. |
crafter | String | The name of the worker who will learn the recipe. Mandatory. |
inputs | Array Of Objects | The "item" s and "count" s of the required input items that will be consumed for the recipe. |
inputs[].item | String | The Resource Location identifier of an item consumed by the recipe. |
inputs[].count | Integer | The number of that item consumed by default. If not present, defaults to 1. |
result | String | The Resource Location identifier of the item the recipe produces. |
count | Integer | The count of "result" items that should be returned. If not present, defaults to 1. |
loot-table | String | The Resource Location of a loot table, used for outputs that require some randomization. |
additional-output | Object | The "item" and "count" of a single additional output item. |
additional-output.item | String | The Resource Location identifier of an item consumed by the recipe. |
additional-output.count | Integer | The number of that item consumed by default. If not present, defaults to 1. |
alternative-output | Array Of Objects | Contains the "item" and "count" of alternative output items. These consume the same inputs, share the same "loot-table", and return the same "additional-output" as the main recipe, but produce a different result on demand through the Request System. |
alternative-output[].item | String | The Resource Location identifier of an item consumed by the recipe. |
alternative-output[].count | Integer | The number of that item consumed by default. If not present, defaults to 1. |
intermediate | String | The Resource Location identifier of a block required to craft the item, typically a furnace. |
research-id | String | The Resource Location identifier of a research that is automatically learned after the colony has a research completed, if all other requirements are met. |
not-research-id | String | The Resource Location identifier of a research that automatically causes the recipe to be unlearned. Most commonly used to replace a default recipe. |
min-building-level | Integer | The minimum building level, inclusive, at which the recipe may be automatically learned, if all other requirements are complete. |
max-building-level | Integer | The building level where the recipe will be automatically unlearned, if the building meets or exceeds it. |
must-exist | Boolean | A special requirement. If a recipe matching the output exists, automatically adds all "alternative-output" as recipes. |
show-tooltip | Boolean | If true, displays the building that can craft the recipe, as well as any requirements to unlock the recipe, as a tooltip for the item. |
recipe-id-to-remove | String | A Resource Location of a different crafter recipe to remove, preventing buildings from learning it. Requires "type":"remove" . All other properties are ignored. Example: "recipe-id-to-remove": "minecolonies:blacksmith/platearmorchestplate" . |
On existing worlds, removing a Crafter Recipe through data packs will automatically remove it from existed constructed buildings that have learned it.
For example crafter recipes, and their canonical names, see GitHub here and here.
Player Recipes
Player Recipes can be added by data packs using vanilla features, by adding to the recipes
Data Location. See the Official Wiki for details, and the GitHub for MineColonies default recipes.
If changes are needed or you think there is content missing, feel free to edit this page or submit an issue for us to make edits. - MineColonies Wiki Team