First go to <your server location>\plugins\RecipeManager\recipes folder and create a text file (.txt extension).
Then you can open that file with a text editor and start writing recipes.
You can have as many recipe files and recipes per file as you want. You can also create folders for organization.
Required fields are surrounded by < >
Optional fields are surrounded by [ ]
NOTE: If you are having issues with special characters not showing up:
- Make sure that your recipe files are saved as UTF-8 and
- Include the following flag: " -Dfile.encoding=UTF-8" in your startup script.
Item / Ingredient formats:
Tags and aliases:
Tag Example:
Result formats:
Flags are how you can modify an ingredient or result. See advanced recipes.html and recipe flags.html for more examples.
Certain recipes support having multiple results.
Only one result type can be crafted at one time, therefore each result has a set chance of success.
Additionally, you can set 'air' as result to make the recipe fail by that chance, which gives no result item but still decreases ingredients.
Chances must be a total of 100%, if you do not define the chance for one or more items the chance will be evenly calculated for the remaining chance up to 100%.
The options for this can be extended even more with flags, be sure to see the advanced recipes.html file after reading this one.
Recipe names are used by recipe books.
If you define a custom name it must be unique and between 3 and 32 characters long (18 recommended).
The custom name will be displayed in the books if defined, otherwise it will use the result.
In the 'books/*.yml' files the recipe names (custom or auto-generated) are used to add and sort recipes in the books.
Item recipes are predefined recipes that you can use in place of items/results in some places.
Unlike most recipes, the recipe name is required so that it can be referenced later.
Format:
Usage:
When mentioned, such as in @BundleItem, the format will be:
The [group name] defines the knowledge book group this recipe belongs to.
The [category name] defines the category this recipe belongs to in the crafting recipe book.
The pattern line defines the shape of the recipe grid.
<letter> must be a letter that is defined in the pattern line above
Ingredients can be defined by a material with an optional data.
[@ ingredient flags] supports any flags that directly modify an ingredient. This allows for customization of ingredients.
Multiple ingredients can be defined in two ways:
As for the result the 'chance%' part is optional and if defined then 'chance' must be a number between 0.0 and 100.0 (yes, accepts decimals)
The '[...]' part means that you can repeat the previous statement, so you can define more than one result and the recipe will randomly pick one of the results.
You can avoid defining the chance number or use *% even to allow it to be calculated.
You can also add a chance of failure to the recipe by using fail, air or 0 as one of the results.
The [group name] defines the knowledge book group this recipe belongs to.
The [category name] defines the category this recipe belongs to in the crafting recipe book.
The ingredients are in the shape of the recipe grid, it will also work if horizontally mirrored.
NOTE: The recipe is exactly the same if you place the ingredients reversed horizontally, it's how the game works.
Number of ingredients is optional, you can specify only 1 or all 9 of them if you want.
Specifying a square of 4 or smaller makes it work in player's inventory crafting.
The '[, ...]' part means that you can add multiple ingredients as matches for that grid item.
As for the result the 'chance%' part is optional and if defined then 'chance' must be a number between 0.0 and 100.0 (yes, accepts decimals)
The '[...]' part means that you can repeat the previous statement, so you can define more than one result and the recipe will randomly pick one of the results.
You can avoid defining the chance number or use *% even to allow it to be calculated.
You can also add a chance of failure to the recipe by using fail, air or 0 as one of the results.
Unlike shaped recipe, this recipe's ingredients can be placed in any order anywhere on the grid.
The [group name] defines the knowledge book group this recipe belongs to.
The [category name] defines the category this recipe belongs to in the crafting recipe book.
The pattern line defines the pattern of the recipe grid, where similar characters means an item is used more than once.
This recipe also supports multiple results just like shaped recipe, read above for information.
Unlike shaped recipe, this recipe's ingredients can be placed in any order anywhere on the grid.
The [group name] defines the knowledge book group this recipe belongs to.
The [category name] defines the category this recipe belongs to in the crafting recipe book.
You can specify up to 9 items added up.
The optional amount can only be added at the end of a list of materials
EXAMPLE: cobblestone,stone:5 would be valid and expect the recipe to have 5 ingredients of either cobblestone OR stone
This recipe also supports multiple results just like shaped recipe, read above for information.
The [group name] defines the knowledge book group this recipe belongs to.
The [category name] defines the category this recipe belongs to in the cooking recipe book.
The [xp amount] defines the amount of xp given for the furnace recipe. Can be a decimal value. Examples ("xp 2", "xp .5", "xp 1.1"). Defaults to 0.
The first '<material[, ...]>' is the ingredient.
(optional) '% [time]' can be the time to smelt, 'time' should be a 'instant', a float number or a range of float numbers separated by a dash. Default time: 10
(optional) '& [material:[data]]' can be an item to act as the ONLY fuel for this recipe (no need to have a fuel recipe for the item!)
And '= [chance]% <material:[data]:[amount]>' is the result with optional success chance but this recipe type only supports 1 result!
Works the same as SMELT RECIPES, but for BLAST FURNACES
Default time: 5
See SMELT RECIPE for examples
Works the same as SMELT RECIPES, but for SMOKERS
Default time: 5
See SMELT RECIPE for examples
Adds a fuel with the specified burn time.
'time' is required and can be a float number or a range of float numbers separated by a dash.
The '...' part means you can specify more than one item, they are all added just like individual fuel recipes.
The [group name] defines the knowledge book group this recipe belongs to.
The [category name] defines the category this recipe belongs to in the cooking recipe book.
The [xp amount] defines the amount of xp given for the furnace recipe. Can be a decimal value. Examples ("xp 2", "xp .5", "xp 1.1"). Defaults to 0.
The first '<material[, ...]>' is the ingredient.
(optional) '% [time]' can be the time to cook, 'time' should be a 'instant', a float number or a range of float numbers separated by a dash. Default time: 30
And '= [chance]% <material:[data]:[amount]>' is the result with optional success chance.
The [group name] defines the knowledge book group this recipe belongs to.
The first '<material[, ...]>' is the ingredient.
Multiple recipes can be added with the same ingredient as long as the result is different for each.
Limited Flag support
The first '<material[, ...]>' is the ingredient.
(optional) '% [chance per level]' is the percentage chance that the level will be increased by [levels]. Value can be a float number >0 and <=100. Default is 100.
(optional) '% [levels]' is the levels to add to the composter. Value can be a float number >0 and <=7. Default is 1.
While the composter is being used for a recipe, it will be locked to that recipe (or the same result from another recipe), so no conflicting recipes can be made.
Anvils have an implied pattern of "ab". You do not need to set a pattern like you would in a craft/combine recipe.
An ingredient with a letter of "a" is the left ingredient.
An ingredient with a letter of "b" is the right ingredient.
(optional) '% [experience levels]' is the experience levels per craft and shown in the anvil.
(optional) '% [allowrename or true]' will enable renaming. Will add an extra experience level to the cost and set the name after all flags. Defaults to false.
(optional) '% [anvil damage chance]' will adjust the chance to damage the anvil on craft. Default is 12. Allowed values from 0-300. Over 100 will damage multiple levels. Ex: 150 will damage 1 level with a 50% chance of damaging a second.
The first '<material[, ...]>' is the left ingredient.
The second '<material[, ...]>' is the right ingredient.
(optional) '% [experience levels]' is the experience levels per craft and shown in the anvil.
(optional) '% [allowrename or true]' will enable renaming. Will add an extra experience level to the cost and set the name after all flags. Defaults to false.
(optional) '% [anvil damage chance]' will adjust the chance to damage the anvil on craft. Default is 12. Allowed values from 0-300. Over 100 will damage multiple levels. Ex: 150 will damage 1 level with a 50% chance of damaging a second.
Grindstones have an implied pattern of "ab". You do not need to set a pattern like you would in a craft/combine recipe.
An ingredient with a letter of "a" is the top ingredient.
An ingredient with a letter of "b" is the bottom ingredient.
The first '<material[, ...]>' is the top ingredient.
The second '<material[, ...]>' is the bottom ingredient.
Cartography Tables have an implied pattern of "ab". You do not need to set a pattern like you would in a craft/combine recipe.
An ingredient with a letter of "a" is the top ingredient.
An ingredient with a letter of "b" is the bottom ingredient.
The first '<material[, ...]>' is the top ingredient.
The second '<material[, ...]>' is the bottom ingredient.
Brewing Stands have an implied pattern of "ab". You do not need to set a pattern like you would in a craft/combine recipe.
An ingredient with a letter of "a" is the main ingredient.
An ingredient with a letter of "b" is the potion.
(optional) '% [time]' can be the time (in ticks) to brew. Values can be: 'instant' for instant brewing, a single integer (ex: '200') for a fixed number of ticks, or a range for a random number of ticks between the two values (ex: '200 - 800'). Defaults to: 400.
And '= [chance]% <material:[data]:[amount]>' is the result with optional success chance.
The first '<material>:[data]' is the ingredient with optional data and amount.
The second '<material>:[data]' is the potion with optional data.
And '= [chance]% <material:[data]:[amount]>' is the result with optional success chance.
Note: Currently requires a vanilla brewing recipe, but can have customized items.
Smithing Tables have an implied pattern of "tab". You do not need to set a pattern like you would in a craft/combine recipe.
An ingredient with a letter of "t" is the template ingredient.
An ingredient with a letter of "a" is the left ingredient.
An ingredient with a letter of "b" is the right ingredient.
The first '<material[, ...]>' is the template ingredient.
The second '<material[, ...]>' is the left ingredient.
The third '<material[, ...]>' is the right ingredient.
Use the /rmextract command to export all vanilla recipes.
A file will be generated at "/plugins/RecipeManager/extracted/" (For Legacy versions: "/plugins/RecipeManager/recipes/disabled/")
Open the generated file in a text editor and search for a recipe you would like to remove.
For example, an iron sword should look similar to this:
After finding the recipes that you want to remove, copy them over to a file in "/plugins/RecipeManager/recipes/"
Once the recipes are in your new file, add @remove per the Remove Syntax below.
To remove an individual recipe, place @remove just after the craft/combine/smelt line:
Place @remove at the top of the file to remove all recipes in the file
For more customization options and examples see advanced recipes.html.
If you don't get these instructions, please stop by Discord and ask for assistance. Please be as descriptive as possible in your questions.
Comments and Spacing
Default supported comments: //, /* */ and #
The text in recipe files can be any letter case and can have any amount of spaces, tabs and new lines.