RecipeManager
RecipeManager 2
Complex recipes made easy !
Features
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 (or remove existing ones):
- Shaped or shapeless recipes with optionally multiple results
- Furnace (+ Blast Furnace and Smoker) recipes with optional custom cook time and optional special fuel
- Fuel recipes with custom burning time or even random time from specified range
- Anvil, Brewing, Campfire, Stonecutting, and Compost recipes
- NEW: Grindstone and Cartography recipes with configuration for disabling default functionality
- 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
- @modmoney/@reqmoney 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
Installing or updating
- Download the latest version of the plugin
- Place the RecipeManager.jar file in the plugins folder and start/restart the server
- 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.
Changelog
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 and then check out the Discord server below to ask for help.
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: https://github.com/haveric/RecipeManager2 If you need, you can use code from my project but please provide credits to haveric and THDigi.
Support project
If you find my plugins useful and want to help support future development and faster updates, please consider donating and fueling my need for coffee:


-
View User Profile
-
Send Message
Posted Nov 3, 2015@haveric
Also i cant seem to see caused by
-
View User Profile
-
Send Message
Posted Nov 3, 2015Im not using any custom furnace recipe Do you have skype so that we can real time talk?
-
View User Profile
-
Send Message
Posted Nov 3, 2015@thu468
What recipes do you have setup and can you replicate this with a specific item in a furnace (RM recipe or vanilla?)
Also, the first time this error gets thrown, there should be more to it below the "Caused by". If you have that, it would be very helpful.
-
View User Profile
-
Send Message
Posted Nov 3, 2015Im getting this error
[11:40:35 ERROR]: Could not pass event RecipeManagerFuelBurnEndEvent to RecipeManager v2.6.2 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at haveric.recipeManager.Events$2.run(Events.java:1111) [RecipeManager.jar:?] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:726) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:367) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:657) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:560) [Spigot-1.8.7.jar:git-Spigot-d2856ae-8f0f4ed] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45] Caused by: java.lang.NullPointerException
-
View User Profile
-
Send Message
Posted Nov 2, 2015@CommodoreAlpha
Just added the @inventory flag to v2.6.3 which should be a better method of forcing a recipe to be used in a specific inventory.
For example:
-
View User Profile
-
Send Message
Posted Nov 1, 2015@dbwallsmc
The best you could do right now is use @holditem and create multiple results with different chances based on the held item. That flag needs some updating yet though so it is quite limited. Requiring certain items to be equipped is interesting though, I might have to look into that. In terms of +chance% items, RecipeManager isn't really setup to handle that, but it might be something I'll look into in the future.
-
View User Profile
-
Send Message
Posted Nov 1, 2015@haveric
Hey haveric, would it be possible to make certain equipment you have equipped, give +chance% to certain recipes you craft? Just wondering.
-
View User Profile
-
Send Message
Posted Nov 1, 2015@haveric
Thanks! I don't know how I overlooked it!
-
View User Profile
-
Send Message
Posted Nov 1, 2015@vampirictorch
I'm pretty sure you're looking for the @ingredientcondition line in the second recipe I provided.
-
View User Profile
-
Send Message
Posted Nov 1, 2015@haveric
hello, I am sorry for the misunderstanding however what I meant is how to add a specific item with a specific name on each item being crafted, I ask because the crafting examples only give examples like this
iron_ingot + gold_ingot + diamond:*:2
and not how to add a lore/name to each individual crafting item, thanks in advanced!
-
View User Profile
-
Send Message
Posted Oct 31, 2015@vampirictorch
It can do that and much more. After running the plugin once, there are some html files generated with specifics of every flag and some basic recipes to get you started.
A quick example:
-
View User Profile
-
Send Message
Posted Oct 31, 2015@haveric
Yes, that's what I'm saying. (See PM for my server files.)
Also as a side note, recipes are automatically mirrored, so if I put AIR slots in the left, it would also work if they were in the right. But I understand that is besides the point.
The reason I don't want to add extra ingredients to force it to be crafted in a 3x3 environment is mainly because it wouldn't make sense for what I'm trying to go for. On my server, workbenches are expensive to make (2 diamonds, an iron block, and other hard-to-make stuff) and difficult to move around. That gives crafting in the 2x2 "personal" grid the advantage of versatility and convenience. But I don't want this to come without a cost: certain items are craftable (or should be; it is not the case at the moment) in either the personal grid or the workbench grid, but the idea is that crafting it in the workbench grid would yield more efficient results. (Or that the personal grid is inefficient, depending on your perspective.)
If you sift through my recipe files, you'll notice an example involving logs->planks (under "Material Processing"). If you try to convert them "by hand", you will only get 2 planks per log. If you do it on a workbench, you will get 3 planks. But because my current system doesn't work, it is 2 planks per log regardless of whether you do it by hand or on a workbench.
I know I can force a recipe to be used on a workbench by specifying the @blockpowered flag, but I don't want to also have to force the user to use redstone.
-
View User Profile
-
Send Message
Posted Oct 31, 2015does this support custom lore/name? for example, only do the recipe if the item has a specific name? I am looking for a recipe plugin that does that.. just like otherdrops only drops if you attack with an item with a specific name etc. thanks!
-
View User Profile
-
Send Message
Posted Oct 31, 2015@CommodoreAlpha
Are you sayinig that the custom items have durability that is shown when using /createrecipe, but that @keepitem doesn't recognize that? If so, I might need you to zip up your server setup and pm it to me so I can test this myself and figure out why this might be happening.
I get what you're trying to do, but to the user that recipe then becomes very confusing. (Why do you have to put it in the left slots instead of the right kind of deal) RecipeManager by default removes any unnecessary AIRs to make the smallest recipe possible.
"plugin still wouldn't be able to tell if it should choose the former over the latter" This is most likely the reason it was done that way by THDigi when he created this plugin. There's no easy way to determine which recipe will get created and it may even conflict with how Minecraft registers recipes.
Is there a reason you can't add an extra ingredient to the one to make it only usable in a 3x3?
-
View User Profile
-
Send Message
Posted Oct 30, 2015Ah, sorry for the late response (had a sudden avalanche of schoolwork), but no, removing spaces does not work.
Also, as for the "modded items with durability" issue. I actually think it might be restricted to flags, as the /createrecipe command worked just fine. Here is an example of how the error arises:
Another thing. How come RecipeManager doesn't register something like this:
As a distinct recipe from this:
Surely, they require the same items and take the same shape/form, but one requires blank spaces and the other does not? Or is the issue that if I arranged 4 dirt items in a 2x2 square with emptiness in the right, the plugin still wouldn't be able to tell if it should choose the former over the latter? Anyhow, if you're wondering why I'm doing stuff like this, it's because I want to force certain items to be crafted on workbenches and not by hand (or rather, since I'm using mods, in environments containing a 3x3 square rather than a 2x2 one). But perhaps a better implementation would be to add a flag for this.
-
View User Profile
-
Send Message
Posted Oct 30, 2015@dbwallsmc
You could disable leather armor dying in config.yml "special-recipes.leather-armor-dye" and then attempt to create a recipe that handles all of the dying manually. You'd have to go through every combination you want to still work, but that's probably the best route at this time.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@haveric
Oh okay, thanks for always answering! You're really helpful haha. Is there a way to restrict dying leather? I was gonna add permission nodes on certain colors. :-(
-
View User Profile
-
Send Message
Posted Oct 29, 2015@dbwallsmc
I'm not sure if @remove false has ever worked or if I broke it somewhere along the way, but I'd suggest just using multiple files to keep the global file flags from polluting your other recipes.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@haveric
Thanks! It worked. :-) I added the @remove flag to my whole file but wanted to have some not be removed. @remove false doesn't seem to work
-
View User Profile
-
Send Message
Posted Oct 29, 2015@dbwallsmc
Just released v2.6.2 with a fix for this and a couple other issues. Thanks for the bug report.