Basic Recipes |
Advanced Recipes |
Recipe Flags |
Recipe Books |
Name Index |
Commands & Permissions
Basic Recipes
HOW TO MAKE A RECIPE FILE
- First go to /plugins/RecipeManager/recipes folder and create a file with the .txt extension.
- Then you can just open that with a text editor and start writing recipes.
ABOUT RECIPE FILES
- You can have as many recipe files and recipes per file as you want, you can also create folders for organization.
- The text in recipe files can be any letter case and can have any amount of spaces, tabs and new lines.
- They also support different styles of comments: //, /* */ and #
- Also, < > are used to enclose required arguments and [ ] optional ones.
- Do not type <, >, [ or ] !, anything outside their bounds are constant characters that need to be used, anything inside are variables.
- 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.
ABOUT DEFINING ITEMS
- Item formats are usually 'material[, ...]' and results are 'material:data:amount'
- 'material' = name, id or alias (see 'name index.html' and 'item aliases.yml')
- 'material' can also be defined by tag:<tagname> or t:<tagname>. (see 'name index.html')
- 'material' can also be defined by alias:<aliasname> or a:<aliasname>. (see 'choice aliases.yml')
- (optional) 'data' = data name (from 'item aliases.yml'), number or * for any data value (default). Only valid in results as of 1.13
- (optional) 'amount' = number, default 1
- (1.12 or older ONLY) Item definitions also support names, lore and enchantments.
Full format is: <material>:<data>:<amount> ; name <name> ; lore <line> ; enchant <enchant> <level>
Where lore and enchant can be repeated.
And of course all meta definitions are optional and order does not matter (unlike material:data:amount).
- For more stuff that can be set using flags on items, see recipe flags.html.
ABOUT MULTI-RESULTS
- 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.
ABOUT RECIPE NAMES
- 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.
- More about recipe books...
RECIPE SYNTAXES
CRAFT RECIPE - shaped workbench recipe
CRAFT [recipe name]
<material[, ...]> + [material[, ...]] + [material[, ...]]
[material[, ...]] + [material[, ...]] + [material[, ...]]
[material[, ...]] + [material[, ...]] + [material[, ...]]
= [chance]% <material:[data]:[amount]>
[...]
- 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.
Examples:
// this is just a comment by the way
// a hoe craftable in player inventory
craft
wood + wood
stick
= wood_hoe
// fragile bowl named recipe
craft Bowl craft attempt
stick + wood + stick
air + stick
= bowl // undefined chance, will be calculated
= 25% fail // 'fail' is alias for 'air'
// Multiple ingredients that can match. Each ingredient can have as many material choices as you'd like,
// as long as the combination of ingredients is still unique to each recipe
craft
cobblestone,stone + dirt,grass
= light_gray_terracotta
COMBINE RECIPE - shapeless workbench recipe
COMBINE [recipe name]
<material[, ...]:[amount]> + [...]
= [chance]% <material:[data]:[amount]>
[...]
- Unlike shaped recipe, this recipe's ingredients can be placed in any order anywhere on the grid.
- 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.
Examples:
// 3 sulphur + 2 sand = 2 TNT
combine
sulphur:*:3 + sand + sand
= TNT:0:2
// smash 2 diamonds and pray for something good
combine Smash 2 diamonds and pray
diamond + diamond
= 0.1% diamond:0:32
= coal:0:4 // let it calculate the chance evenly for this and the next two
= iron_ingot
= gold_ingot
= 75% fail
SMELT RECIPE - furnace smelting recipe
SMELT [recipe name]
<material[, ...]> % [time]
& [material:[data]]
= [chance]% <material:[data]:[amount]>
// one result max!
- 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!
Examples:
// smelt gold_ingot to ore
smelt
gold_ingot
= gold_ore
// glowstone and bottle as fuel makes an exp bottle
smelt Exp Bottle Alchemy
glowstone % 20.5-30 // random cook time between 20.5 and 30 seconds
& bottle // fuel
= 25% exp_bottle // 25% chance to get the result, rest 75% will result in nothing
BLASTING RECIPE - blast furnace smelting recipe
BLASTING [recipe name]
<material[, ...]> % [time]
& [material:[data]]
= [chance]% <material:[data]:[amount]>
// one result max!
- Works the same as SMELT RECIPES, but for BLAST FURNACES
- Default time: 5
- See SMELT RECIPE for examples
SMOKING RECIPE - smoker smelting recipe
SMOKING [recipe name]
<material[, ...]> % [time]
& [material:[data]]
= [chance]% <material:[data]:[amount]>
// one result max!
- Works the same as SMELT RECIPES, but for SMOKERS
- Default time: 5
- See SMELT RECIPE for examples
FUEL RECIPE - furnace fuel
FUEL [recipe name]
<material:data> % <time>
...
- 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.
Example:
FUEL
sulphur % 0.75 // see advanced recipes.html how to make this EXPLODE!
lantern % 20 // 'lantern' is alias for 'jack_o_lantern'
CAMPFIRE RECIPE - campfire recipe
CAMPFIRE [recipe name]
<material[, ...]> % [time]
= [chance]% <material:[data]:[amount]>
- 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
- NOTE: Due to API limitations, random cook times will only be set random on server start for campfire recipes.
- And '= [chance]% <material:[data]:[amount]>' is the result with optional success chance.
STONECUTTING RECIPE - stonecutter recipe
STONECUTTING [recipe name]
<material[, ...]>
= [chance]% <material:[data]:[amount]>
- The first '<material[, ...]>' is the ingredient.
- Multiple recipes can be added with the same ingredient as long as the result is different for each.
- No Flag support yet
COMPOST RECIPE - composter recipes
COMPOST [recipe name]
<material[, ...]> % [chance per level] % [levels]
= [chance]% <material:[data]:[amount]>
- 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 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.
ANVIL RECIPE - anvil recipes
ANVIL [recipe name]
<material[, ...]> + <material[, ...]> % [experience levels] % [allowrename or true] % [anvil damage chance]
= [chance]% <material:[data]:[amount]>
- 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.
GRINDSTONE RECIPE - grindstone crafting recipes
GRINDSTONE [recipe name]
<material[, ...]> + <material[, ...]>
= [chance]% <material:[data]:[amount]>
- The first '<material[, ...]>' is the top ingredient.
- The second '<material[, ...]>' is the bottom ingredient.
CARTOGRAPHY RECIPE - cartography crafting recipes
CARTOGRAPHY [recipe name]
<material[, ...]> + <material[, ...]>
= [chance]% <material:[data]:[amount]>
- The first '<material[, ...]>' is the top ingredient.
- The second '<material[, ...]>' is the bottom ingredient.
BREW RECIPE - brewing stand recipes
This is an experimental feature. Expect bugs and frequent changes.
BREW [recipe name]
<material:[data]:[amount]> // ingredient
<material:[data]> // potion
= [chance]% <material:[data]:[amount]>
[...]
- 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.
Example:
brew
nether_wart
potion
= stone
@name <red>Test Stone. Please Ignore
@ingredientcondition nether_wart | name &cTest
@ingredientcondition potion | potion type water
For more customization options and examples see advanced recipes.html.
If you don't get these instructions you can ask people in the plugin's dev.bukkit.org page to make a recipe for you.