RecipeManager 2

Complex recipes made easy !


NOTE: I will refer to some .html files in here, those files can be found in your /plugins/RecipeManager/ folder after you load the plugin the first time. The html files will also be updated automatically on new versions.

  • Add new recipes:
    • Shaped or shapeless recipes with optionally multiple results
    • Furnace recipes with optional custom cook time and optional special fuel
    • Fuel recipes with custom burning time or even random time from specified range.
    • See 'basic recipes.html' for more info.
  • Making recipes more special with flags, featured flags:
    • @permission to limit a recipe (or result) to specific permission node(s)
    • @remove, @restrict and @override to remove/restrict/override existing recipes, including Minecraft recipes.
    • @ingredientcondition to make extra requirements from ingredients like enchantments, ranged data values, stack amounts, etc
    • @keepitem to keep an ingredient from using up and optionally damaging it in the process
    • @[email protected] and their experience and level counterparts to require/give/take money/exp/level from crafter
    • @cooldown to limit the usage of the recipe
    • And a lot more, see 'recipe flags.html' for all of them including documentation.
  • Flags can also be added to results to make them more special, some featured result flags:
    • @cloneingredient to clone an ingredient's features over to the result, like data value, amount, enchantments, etc
    • @itemname and @itemlore to edit a result's display name and description with colors
    • @potionitem and @fireworkitem to design your custom potions and fireworks
    • @getrecipebook to get a RecipeBook as result, ones generated by this plugin with recipes in them
    • And a lot more, see 'recipe flags.html' for all of them including documentation.
  • Flexible recipe files to add your recipes in:
    • You can use any kind of spacing and letter casing you want in recipe files, also supports comments
    • Design your file names and folder structure as you want in the 'recipes' folder
  • Auto-generated recipe books with high customization:
    • Pick which recipes to be added and to what volume
    • Re-arrange them as you like
    • Books that players have are automatically updated when edited by admin and reloaded
    • For more information see 'recipe books.yml' file.
  • Other features:
    • Local documentation files for ease, the .html files that will be generated the first time you run the plugin
    • Customizable settings, messages and item/data/enchant aliases in their respective YML files
    • Supports Vault for economy and permission groups
    • API for plugin developers, custom events and utility methods for most features
    • MCStats / Metrics:

Installing or updating

  1. Download the latest version of the plugin
  2. Place the RecipeManager.jar file in the plugins folder and start/restart the server
  3. Now the plugins/RecipeManager/ folder is created which contains configuration files (.yml) and documentation files (.html)

Using the plugin

  • Run the plugin at least once to allow the .html files to be generated, then start with 'basic recipes.html'.
  • Plugin settings can be configured in "plugins/RecipeManager/config.yml"
  • When you're done editing, type rmreload in server console to reload everything without a server restart.
  • Commands and permissions can be found in 'commands & permissions.html' file.

Tutorials, example recipes, tips and tricks

User-contributed resources in the Resources forum section.


In the jar file, auto-extracted when first ran to plugins/RecipeManager/changelog.txt and on GitHub.

Having problems, found bugs ?

If you have any issues or found some bugs, please create a ticket. But first you should check other tickets if the issue has already been reported. Also check the latest file's known caveats (under changelog) before posting a ticket.

Note: I don't support any previous versions other than the absolute latest, so if you used an older version, update and test again.

Source code

Source code is on github, feel free to look at it, improve on it and provide feedback: If you need, you can use code from my project but please provide credits to haveric and THDigi.

Support project

If you find RecipeManager useful and want to help support future development and faster updates, please donate:

Thanks for your support!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of TheClubMC TheClubMC Jun 24, 2016 at 09:07 UTC - 0 likes

    Hello, First of all it's excellent plugin and I need some help and advice. Recipe Config

    As you can see in the pastebin link, I tried to make diamond enchant recipe and use them to craft the diamond sword. It seem to work but I was wondering and have a few question.

    • How do i set specific position for crafting slot to use for craft an item as you can see for diamond enchant recipe, I set to bottom right of the crafting slot but doesn't matter slot I am able to craft it. How to make this work and allow only specific position slot.
    • Is there a way allow to use shift+click for multiple crafting item instead of pickup from crafting slot one by one.
    • How do I hide or disable "Need level: x" "Mod Level: x" message in lore when use @needlevel, @modlevel and something like those flags.
    • How it work with item-datas.yml, I don't really understand, could you please explain.

    Thank you and sorry for my bad English.

  • Avatar of haveric haveric Jun 23, 2016 at 15:56 UTC - 0 likes

    @Francis502: Go

    It's a complicated issue that I haven't found a perfect solution for yet. Vanilla Minecraft only supports material and data for recipes, so whenever a recipe is created with extra conditions such as your case, the conditions should be caught and handled by RecipeManager, but any material and data that matches will still produce the base result (ignoring any RM conditions). I think it will need to have partial multi-result support implemented in order to handle things differently, but it still wouldn't be a perfect solution.

  • Avatar of Francis502 Francis502 Jun 23, 2016 at 15:16 UTC - 0 likes
    @ingredientcondition 397:3 | name &2Green ore
    = 388
    @name &2Green ingot
    @lore &7&oSpecial

    I read that bukkit doesn't check for item names or lore, only item id and data, on furnace recipes. Tried this. Doesn't work. Doesn't matter the head, as long as it is a player head it gives me an emerald (which doesn't have any name nor lore, idk why lol)

    So, is there anything you could do to make it check for names and lore, or is it a bukkit problem and only spigot could do something?

  • Avatar of haveric haveric May 22, 2016 at 16:22 UTC - 0 likes

    @xH3LLRAIZ3Rx: Go

    I don't believe there is a way to make any item consumable. This might make more sense as an extension plugin in the future though.

  • Avatar of haveric haveric May 22, 2016 at 01:34 UTC - 0 likes

    @negrocarnecaliente: Go

    Use air instead of null.

    That api uses NMS, which can potentially break between versions of Minecraft. I use the Bukkit API only. Some of the work I'm doing now may allow for me to add these in a safer way, but I will not be adding NMS code into the base plugin.

  • Avatar of negrocarnecaliente negrocarnecaliente May 22, 2016 at 00:53 UTC - 0 likes

    @haveric there s an api for item attributes

    i use it to get attributes from item like 10 damage and add 2 damage to it so the damage of an item is 12

  • Avatar of negrocarnecaliente negrocarnecaliente May 22, 2016 at 00:51 UTC - 0 likes

    hi why is 0 not allowed to be null? and how do i make the recipe like this with it? if i was to do this i would set/leave 0 null

    null EMERALD null null DIAMOND_SWORD null null null null



    • Sets an ingredient slot to material with specific data value.<br>
    • Slots are like:<br>
    • <code>
    • | 0 1 2 |<br>
    • | 3 4 5 |<br>
    • | 6 7 8 |</code> <br>
    • Null slots are ignored and allow the recipe to be
    • used in a smaller grid (inventory's 2x2 for example)<br> <br>
    • <b>NOTE: always start with index 0!</b> Then you can use whatever index you want up to 8.<br>
    • This is required because ingredients are shifted to top-left corner of the 2D matrix on each call of this method.
    • @param slot
    • start with 0, then use any index from 1 to 8
    • @param type
    • @param data
    • /
    Last edited May 22, 2016 by negrocarnecaliente
  • Avatar of xH3LLRAIZ3Rx xH3LLRAIZ3Rx May 12, 2016 at 01:10 UTC - 0 likes

    @haveric: Go

    ok, can you add a feature to where I can make consumable heads? heads that you right click and you can consume them to give you your hunger back and also potion effects

  • Avatar of haveric haveric May 10, 2016 at 02:33 UTC - 0 likes

    @xH3LLRAIZ3Rx: Go

    I have messed around a bit with ProtocolLib and it seemed to work at first, but I ran into issues with it (specifically, it not being able to tell what attributes were set on an item already). I will probably revisit it once I refactor some of the project to be extendable.


Date created
Oct 11, 2011
Last update
Mar 16, 2016
Development stage
  • enUS
GNU Lesser General Public License version 3 (LGPLv3)
Curse link
Recent files
  • R: v2.7.3 for 1.9 Mar 16, 2016
  • R: v2.7.2 for 1.8.1 Mar 01, 2016
  • R: v2.7.1 for 1.8.1 Mar 01, 2016
  • R: v2.7 for 1.8.1 Feb 27, 2016
  • R: v2.6.4 for 1.8.1 Nov 04, 2015



Optional dependency