Cookbook
Cookbook 1.2
A plugin to customize the recipes on your server to your liking. Currently it only allows to set recipes in the recipes.cb config file, but an in-game recipe creator is planned as well as recipe-based permissions.
Recipes are read from recipes.cb. The format is pretty intuitive; it is most easily explained by example.
# The # symbol indicates that the rest of the line is a comment @Shaped dirt dirt # An up to 3x3 grid of the ingredients, with air for empty slots. 0 3 # ingredients can be specified by ID or name -> 2x IRON_INGOT # The format of the result is the same for all recipe types @Smelt Dirt -> 3x Wheat @Shapeless Apple, Bowl -> 1 Water-bucket # The x is optional @Smelt Redstone -> 6 ink-sack/3 # You can specify data-values anywhere except on smelting input @Smelt Bow -> 1 Bow ARROW_INFINITE=1 # You can add enchantments or other metadata like this.
For more details, see Recipe Format.
Configuration
The following keys are used from the config.yml in the Cookbook folder
- startup - Specifies how Cookbook should behave on startup. Valid values are "clear" (remove all vanilla recipes before adding the ones from recipes.cb), "reset" (reset to vanilla recipes before adding your custom recipes), and "compound" (just add your recipes). You could use this to suppress recipes from other plugins, or to completely redo the recipes Minecraft offers. Note that some vanilla recipes, such as fireworks, dyed leather armour, map copying, map zooming, and book copying, are impossible to reimplement using Cookbook, so consider this before deciding to use "clear".
- fix.soup-bowl - If true, Cookbook will give back the bowl if you use mushroom soup in a recipe.
- fix.glass-bottle - If true, Cookbook will give back the bottle if you use a potion in a recipe. Note that, if you set this to true and create recipes where potions are used as ingredients to craft other potions, you will get a free glass bottle each time a potion is crafted from a potion. So don't set it to true if you want recipes of that type.
- allow-high-enchants - If true, Cookbook will allow enchantments of higher than normal levels.
- allow-wrong-enchants - If true, Cookbook will allow enchantments on items that they don't normally apply to.
- generate-defaults-cb - If true, Cookbook will generate a defaults.cb before adding any recipes. After doing so, this flag will be set to false. Note that, due to Bukkit quirks, a few recipes in the resulting defaults.cb won't be accurate; generally the complicated things involving maps, leather armour, books, or fireworks. However, these recipes can't be replicated with Cookbook's capability anyway. Note also that if other plugins add custom recipes, these recipes may appear in the defaults.cb if they loaded before Cookbook.
List of item/block names || List of enchantment names
Note: This is not the original Cookbook by fullwall and is not even based on his code; it has been rewritten from scratch, but I liked the name and, since his has been inactive for a long time, decided to recycle it. If there is enough demand I may write a converter to convert fullwall's Cookbook format to my Cookbook format.
@Celtic_Minstrel
Here's the full stack, if it helps. I still get these daily. I'm not sure what causes it or if it results in any problems for players. I only have four basic shaped recipes.
@Celtic_Minstrel
Nope. Permissions work. It would not have created the file if the permissions are wrong, furthermore it's windows and all the other plugins are working. Some questions, next to the config issue: Are there sources avaiable? Are recipe name based permissions avaiable? Could you implement a randomization feature, to make it possible to let crafting fail? (make some items more rare) ;)
@ExcalibursZone @ExcalibursZone
On the contrary, that link /does/ tell you how to do it — put "name=Pork_sandwich" at the end of your result line, so you have "-> 1x BREAD name=Pork_sandwich" overall.
EDIT: However, I've updated that page to include more examples. Perhaps that will help you and people like you in the future.
@Maddis1337
Maybe, but I wouldn't be surprised if your issue is in fact a lack of write permissions to Cookbook's directory. The Configuration section at the top of this page lists config keys that are accepted, though I'm not quite sure whether it's complete.
@RealityIntern
Hm, interesting. I thought I had arranged it so that it would gracefully disable those features that require a specific Minecraft version if you were on a different version. If I can reproduce your issue, I'll try to fix it, eventually.
@RealityIntern
Seems to work for me on 1.4.7 R1.0...
Could you update to 1.4.7 NMS?
Thanks, that didn't answer my question. While it states that you can do it, there is no example of how to do it. Are there any examples on setting item names?
@Celtic_Minstrel
I can underline that issue too. Config.yml is blank (Bukkit 1.4.7 R0.1 Beta. Could you upload a default config so I can copy it manually?
@ExcalibursZone have a look here
Is there a way to produce a differently named item? For instance: @shaped Pork Sandwich BREAD GRILLED_PORK BREAD -> 1x BREAD
works, however, I want the mouse over to state Pork Sandwich instead of Bread.
@Celtic_Minstrel
Hmm, possibly not? Let me check my perms. That is probably the issue.
@F4BSE
Yes and no, but mostly no. If you add a recipe that already exists but change the output, it might override the original, but I don't think you can count on it. You can tell the plugin to remove all vanilla recipes and then just add back the ones you want, but I don't recommend this since a) it won't work for "special" recipes like fireworks and b) I'll likely be removing be removing this feature in the future (due mostly to a).
@Shvesley
At a glance, it looks like a permissions issue... does the Bukkit server have permissions to write to Cookbook's config directory?
This error in 1.4.7: http://pastebin.com/15YM80bE
Can I edit and change the normal vanilla minecraft recipes and if yes, how can I do that?
No idea about the blank config.
Um, the spout window is not implemented. I've made a number of attempts to do it (without Spout), but never quite got it working.
As for datavalues, you can always listen for onBlockPlace and set the block's datavalues then if a custom block is being placed.
@lipe124
I will second lipe124's report. Blank config.
@Celtic_Minstrel
Hey dude my config.yml is completely blank and the spout window for the recipes does not show up when right clicking with a book on a crafting table.
Are these known issues?
@Celtic_Minstrel
Yeah, it's just that datavalue checks are already included in lots of plugins, plus datavalues would stay after a block is placed (not after mining though), in case I want to do something with placed blocks. But well, one can't have everything... at least it works for items.
oh, you are right... my bad. I don't know where I got this from, but I could have sworn that native recipes showed how much you'd get with the current ingredient sount. But thinking of it it wouldn't really make sense.
@Raegenhere
No, I have no control over that. It's not quite removing all non-vanilla values, though; just removing all values on blocks which in vanilla do not have data values. So, you should be able to have (for example) a stone slab with a damage value of 15. That said, I'd probably use the name rather than the data value to detect that a block is custom. Or the lore, if you don't want people to be able to create the item on an anvil.
Um, isn't that how it's supposed to work? If you have ten of each ingredient on the grid and the recipe creates a stack of 4, and you click the output slot, you should end up with a stack of four on your cursor and nine of each ingredient remaining in the grid. Perhaps you always shift-click to craft as many as possible and have forgotten that there's any other way? :P
@Stetchy Not possible at present with this plugin. You could set the plugin to clear all recipes before adding new ones, and manually re-add the vanilla ones, but if you do that you'll end up unable to extend and clone maps, dye armour, and craft fireworks (unless you add a million or so normal recipes for them). So, I don't recommend doing this. (In fact, I'll probably remove that option at some point.)
Perhaps a later version will add a way to disable specific recipes.
How would I disable a vanilla recipe for say the enchanting table?
wow, I've been searching for a recipe plugin that supports meta data for a while!
Thanks so much for this :-)
Besides standard stuff like enabling chainmail crafting etc, I plan to use this plugin to introduce "new" blocks/items using custom names & invented datavalues.
This works just fine for items... but with blocks, bukkit seems to remove all non-vanilla data values - see here. Do you think this behaviour could be disabled?
I believe custom blocks/items could be very powerful, if you give them some specific functionality with another plugin.
Another small thing... I noticed that with cb-recipes, the stack count in the output slot isn't multiplied when you have a mutliple of the required ingredients in the crafting grid.
If output is set to 2x, I will always show a stack of two, even if there are full stacks of ingredients. Just an optical thing though, you'll get the right amount