Custom Recipes - TheComputerGeek2/MagicSpells GitHub Wiki
Custom recipes can be defined in the general.yml file or any spell file. The main configuration looks like this:
recipes:
  randomKey:
    # (Recipe configuration section)
    # type:
    # . . .| Option | Description | Type | Default | 
|---|---|---|---|
type | 
See Recipe types below. | String | |
result | 
Magic Item String or Magic Item Config | ||
quantity | 
Quantity of the result. | Integer | 1 | 
Before 4.0 Beta 18:namespace-key
 | 
This namespaced key makes the recipe unique from all other recipes. You can only specify the key as the namespace is always magicspells. | 
String | magicspells:(configKey) | 
Since 4.0 Beta 18:namespaced-key(alias: namespace-key) | 
This namespaced key makes the recipe unique from all other recipes. The default namespace is magicspells, but any is supported. | 
String | magicspells:(configKey) | 
| Option | Description | Type | Default | 
|---|---|---|---|
group | 
An optional text identifier that can be used to group recipes in the Recipe Book under one entry. | String | |
auto-discover | 
Recipes marked as true will be discovered by any online player. | 
Boolean | true | 
category | 
Since 4.0 Beta 14. | Category | misc | 
shape | 
For a 3x3 recipe, it should have 3 string elements, each 3 characters long. For 2x2, it should be a 2-element list of 2 characters. Take a look below for an example. | String List | |
ingredients  | 
Map of the ingredients. Key-value pair, where the key is a shape character, and the value is a Recipe Choice. Unmapped characters usually represent air. | Config Section | 
Example:
shape:
  - "I#I"
  - "III"
  - "III"
ingredients:
  I: iron_ingot| Option | Description | Type | Default | 
|---|---|---|---|
group | 
An optional text identifier that can be used to group recipes in the Recipe Book under one entry. | String | |
auto-discover | 
Recipes marked as true will be discovered by any online player. | 
Boolean | true | 
category | 
Since 4.0 Beta 14. | Category | misc | 
ingredients | 
Map of the ingredients. Key-value pair, where the key is ignored, and the value is a Recipe Choice. | Config Section | 
Example:
type: shapeless
result: written_book
ingredients:
  1: book
  2: inc_sac
  three: feather| Option | Description | Type | Default | 
|---|---|---|---|
group | 
An optional text identifier that can be used to group recipes in the Recipe Book under one entry. | String | |
auto-discover | 
Recipes marked as true will be discovered by any online player. | 
Boolean | true | 
ingredient | 
Recipe Choice | 
| Option | Description | Type | Default | 
|---|---|---|---|
auto-discover | 
Recipes marked as true will be discovered by any online player. | 
Boolean | true | 
base | 
Recipe Choice | ||
template | 
Since 4.0 Beta 13, and MC 1.20. | Recipe Choice | |
addition | 
Recipe Choice | ||
copyNbt | 
Since 4.0 Beta 13. Defines whether to copy the NBT from the base item to the result. | 
Boolean | true | 
Cooking recipes.
| Option | Description | Type | Default | 
|---|---|---|---|
group | 
An optional text identifier that can be used to group recipes in the Cooking Book under one entry. | String | |
auto-discover | 
Recipes marked as true will be discovered by any online player. | 
Boolean | true | 
category | 
Since 4.0 Beta 14. | Category | misc | 
ingredient | 
Recipe Choice | ||
experience | 
Number of experience points to reward. | Double | 0 | 
cooking-time | 
Server ticks duration. | Integer | 0 | 
Important
Since 4.0 Beta 18.
| Option | Description | Type | Default | 
|---|---|---|---|
input | 
Recipe Choice | ||
ingredient | 
Recipe Choice | 
Warning
Before 4.0 Beta 13, a "Recipe Choice" could only be a material name.
ingredient: stickEverything below this alert is only valid since 4.0 Beta 13.
Recipe Choice defines what items are allowed as ingredients for a recipe in a specific slot. It may either be Recipe Choice Tags or specific Items.
- 
Before 4.0 Beta 18: Only Material Tags are supported, prefixed by 
tag:(e.g.tag:armor). - 
Since 4.0 Beta 18: Tags may be prefixed with 
tag:or#, with supported values being: 
ingredient: "tag:armor"Example of a slot that accepts any armor piece. This is the same as the singular armor material tag.
ingredient:
- "tag:helmets"
- "tag:chestplates"
- "tag:leggings"
- "tag:boots"Accepts Magic Item String and Magic Item Config.
Example:
# May be in config format:
ingredient:
  type: stick
  name: "<gold>Magic Twig"
# Or string format:
ingredient: 'stick{name: "<gold>Magic Twig"}'An example of an ingredient may be a stick named "Magic Twig", colored gold or red.
type: stonecutting
# 
ingredient:
# Compact config format:
- {type: stick, name: "<gold>Magic Twig"}
# String format:
- 'stick{name: "<red>Magic Twig"}'
- ...