Cooking Recipes - ShaneBeee/SkBee GitHub Wiki

Cooking recipes allow you to create custom recipes for cooking blocks, including furnaces, smokers, blast furnaces and campfires.

Here is the basic Syntax:

register [new] (furnace|(blast furnace|blasting)|smok(er|ing)|campfire) recipe for %itemtype% (using|with ingredient) %itemtype% with id %string% [[and ]with exp[erience] %number%] [[and ]with cook[ ]time %timespan%] [in group %-string] 

Let's break it down:

Registering a recipe for an item:

register [new] (furnace|(blast furnace|blasting)|smok(er|ing)|campfire) recipe for %itemtype% 

Here we are setting the item which will be the result of this recipe, and we also decide which cooking block this recipe will register to.

Special Note:

Recipes must be registered in a Skript load event. This is due to the fact that recipes are only sent to the player when they log onto the server. If a recipe is registered after the player joins, they will need to re-log to receive the recipe. By only using the Skript load event this ensures all recipes are only registered when the server starts up.

Setting the ingredients:

(using|with ingredient) %itemtype%

Here we are going to set the ingredient for this recipe. Cooking recipes only support one ingredient.

Setting the ID:

with id %string%

Here we set the ID (namespace) for the recipe. This will register the recipe to the server with a specific namespace, ex:

with id "my_item"

this will register as skbee:my_item
This id can be used to unlock recipes with this addon, or via Minecraft's recipe command, ie:

/minecraft:recipe give player_name skbee:my_item

When unlocking a recipe via this addon, skbee: is not required, this only required when typing it into Minecraft's commands.

Setting the experience:

[[and ]with exp[erience] %number%]

Cooking recipes allow the player to earn experience when they successfully smelt an item. Keep in mind the player will earn these XP points when they extract the results from the furnace. This is completely optional and will default to 0 if not added. Special Note:
After much much testing, it appears the XP does not work when using a campfire recipe. This appears to be a Spigot issue.

Setting the cook time:

[[and ]with cook[ ]time %timespan%]

Want your items to cook faster, or want them to take even longer than normal? Well, we can do that. Simply add a time you want this item to cook for, and you are good to go. This is completely optional, and will default to the default time for this cooking block when not used.
ex:

with cook time 60 seconds

Setting a group:

[in group %string%]

Groups are optional. This will group multiple recipes together. When you open up your recipe book, the recipes will be stacked, when you hover over the recipe you will see the item cycling thru the available recipes, when you right click the recipe, it'll show all the available recipes in this group.
Here is a visual representation showing the groups by setting in group "custom_swords":

Let's bring it all together:

Setting some recipes:

on skript load:
    set {_c1} to iron ingot named "&6Warm Ingot"
    set {_c2} to iron ingot named "&cHot Ingot"
    set {_c3} to iron ingot named "&7Smeltering Ingot"

    register new furnace recipe for {_c1} using iron ingot with id "warm_ingot" in group "hot_ingots"
    register new furnace recipe for {_c2} using {_c1} with id "hot_ingot" in group "hot_ingots"
    register new furnace recipe for {_c3} using {_c2} with id "smeltering_ingot" in group "hot_ingots"

As you can see in these examples I created 3 new items. Then I created recipes for all the items. Also to mention I used the 1st item as an ingredient in my 2nd item, and the 2nd item as an ingredient in my 3rd item. Fun hey?!