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:
I can not get it to work on 1.0.0. Yes I tryed installing it to 1.8.1 first to get config but still wont work. Help PLz. I believe i am using build 1467 this is what i get.
13:32:26 [INFO] [RecipeManager] loading all settings... 13:32:26 [SEVERE] Error occurred while enabling RecipeManager v1.1b (Is it up to date?): null java.lang.NullPointerException at org.bukkit.plugin.java.JavaPlugin.getResource(JavaPlugin.java:156) at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:133) at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:125) at digi.recipeManager.RecipeManager.loadSettings(RecipeManager.java:203) at digi.recipeManager.RecipeManager.onEnable(RecipeManager.java:161) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:183) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:957) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:176) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:159) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:337) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:324) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:161) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:388) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Please add enchantment support to your Todo. I mean recipes for crafting already enchantes tools, or using enchanted tools to produce something else. After RB ofcourse=)
Also, does it recognize different map numbers?
It works for 1.0!!!!
You only have to get the configuration and all by using 1.8.1-craftbukkit once and then just start the 1.0.0-craftbukkit and it'll run and load everything. Only some blocks are not working with their names (like end_stone, eye_of_ender and only a few more - use ID here instead and it'll work, too!!!)
Just something I wanted to add what I was able to figure out!! Great!!
@Folas1337
I will update it once bukkit has a recommended build.
Can you tell me if it works on 1.0.0? Because I did everything, but it seems like it's not working for 1.0 =( Would be cool to get an update soon ;)
@kash77
It's not that easy and I don't think it's even reliable, I need to make the whole custom recipes system custom to be able to add permissions to recipes.
If you have further but more based ideas please make a ticket, comments are a mess :}
Hi, please add permissions plugin.
@CommanderGizmo
Hmm, it seems that NULL as AIR doesn't work anymore O.o, use 0 at the first recipe and it will work. EDIT: pf, that dynamic size recipe thing contradicts the NULL as AIR, so I'm removing that (actually I'm just removing it from notes in the description) until I figure out some way to make both of them to work.
Source is not out of date, that's the returning items feature that it's in the TODO list in the description, I was working on it but I removed it so I could release v1.1 because I got on a few frustrating problems... the inventory doesn't update and you can't see what you get until you do something else, I can't seem to be able to place items in the crafting grid and shift+clicking a recipe doesn't give me any information about how many times the recipe was made in the code, so I need to calculate that myself... and I just gave up for now on that thing.
EDIT: also, the source can't be out of date because it's the source of the currently compiled plugin placed in there by eclipse.
The server has .addRecipe() thing and on that I can input ShapedRecipe, ShapelessRecipe and FurnaceRecipe, each of those has different arguments, ShapedRecipe for example has .shape() which accepts stuff like " A ", "ABA", " A " which is the shape of your mossy thing, and then I must define A as slime ball, B as cobblestone and set the result as mossy_coblestone... that and all the other recipe stuff in the data/LoadCustomRecipes.java if you're curious.
Also, what do you mean by limiting chat messages ? Chat messages are sent only if the client doesn't have spout and tries to use a restricted recipe. A message is printed when a player hits the workbench for the first time in the server's current process, if the server is restarted, so is the message reset to all players.
PS: next time please make a ticket because it's getting really crowded in these comments :P
Issue 1: I have not been able to get the following recipe to work using the mod:
It sits there. These, however do work:
Issue 2: I was adding permissions to your mod and limiting the chat messages when I found that the source seems to be out of date as I find this on line 146 of SpoutEvents.java:
Perhaps I just don't understand how your mod works, but just how does the server get the recipe shapes from the plugin? Some seem to work, but others don't.
[Edit] Also, it would be fantastic if you could restrict recipes by user/groups in bukkit's internal permissions system.
@Cyberium59
I'm not sure, it should work... why don't you try it ? :P
@geekahedron
Hmm, I made it so it doesn't print the message a 2nd time... but I didn't really test it enough :} And no, there isn't a way to disable them yet, I'll add that in the next version.
EDIT: yeah it works, it only prints the message once for both workbench and furnace (if there is anything changed)
I use Ultraitems to create the recipe for a bar of obsidian (obsidian block melted in a furnace). With your plugin, can I change the cooking time knowing that the result is a custom item?
Is there a way to simply disable the in-game messages? I love being able to add custom recipes, but there's really no need to spam users about it every time they open a work bench...
@Chuiby
It's handled by bukkit and the game, so their creators should fix them.
On a side note, I activated tickets, no more error reports in these comments please !
@THDigi
Okay, well is there any way to fix it?
@Chuiby
Everything you described is handled by bukkit and the game, I just send the shape, items and result to the server. And I noticed that the shift+click is kinda buggy on custom recipes but it gives you the right items, only delayed.
And I never understood tickers in programs, but I have enabled the forums tough.
Tickets ? WHERE ARE TICKETS D:?
Whatever...
I encountered a problem while i was testing my new recipes.
I noticed that with i.e: whenm crafting sponge (it shows Spone instead of Sponge), if you repetitively click (Click more than once) on the output item box will not make the item re-appear so if you take it once and make i.e: 15 blocks only the first block will be visible but the others won't.
I'm pretty tired right now i got no clue if my sentences makes sense so contact me if you need more info (Or more comprehensible sentences), you should be able to find it easily anyway.
Thanks. (Great plugin btw).
@THDigi
Great, I'll test it out immediately.
@_GWG_Sheep
I don't think it's possible without making the whole custom recipe system custom, at the moment, I just add recipes to the server and bukkit or the game handles them and, as far as I know, if you add another exact recipe it won't be overwritten.
Looks cool can't wait to try it
Can I override crafting recipes? Example: If a player enters in TNT recipe they get dirt instead.