Package org.bukkit.inventory

# Class CookingRecipe<T extends CookingRecipe>

java.lang.Object
org.bukkit.inventory.CookingRecipe<T>

Type Parameters:
  `T` - type of recipe

All Implemented Interfaces:
  `net.kyori.adventure.key.Keyed`, `Recipe`, `Keyed`

Direct Known Subclasses:
  `BlastingRecipe`, `CampfireRecipe`, `FurnaceRecipe`, `SmokingRecipe`

public abstract class CookingRecipe<T extends CookingRecipe> extends Object implements Recipe, Keyed
Represents a cooking recipe.

## Constructor Summary

Constructors
Constructor
Description
`CookingRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result, @NotNull RecipeChoice input, float experience, int cookingTime)`
Create a cooking recipe to craft the specified ItemStack.
`CookingRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result, @NotNull Material source, float experience, int cookingTime)`
Create a cooking recipe to craft the specified ItemStack.

## Method Summary

Modifier and Type
Method
Description
`int`
`getCookingTime()`
Get the cooking time for this recipe in ticks.
`float`
`getExperience()`
Get the experience given by this recipe.
`@NotNull String`
`getGroup()`
Get the group of this recipe.
`@NotNull ItemStack`
`getInput()`
Get the input material.
`@NotNull RecipeChoice`
`getInputChoice()`
Get the input choice.
`@NotNull NamespacedKey`
`getKey()`
Return the namespaced identifier for this object.
`@NotNull ItemStack`
`getResult()`
Get the result of this recipe.
`void`
`setCookingTime(int cookingTime)`
Set the cooking time for this recipe in ticks.
`void`
`setExperience(float experience)`
Sets the experience given by this recipe.
`void`
`setGroup(@NotNull String group)`
Set the group of this recipe.
`@NotNull CookingRecipe`
`setInput(@NotNull Material input)`
Sets the input of this cooking recipe.
`T`
`setInputChoice(@NotNull RecipeChoice input)`
Sets the input of this cooking recipe.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.bukkit.Keyed

`key`

## Constructor Details

### CookingRecipe

public CookingRecipe(@NotNull @NotNull NamespacedKey key, @NotNull @NotNull ItemStack result, @NotNull @NotNull Material source, float experience, int cookingTime)
Create a cooking recipe to craft the specified ItemStack.

Parameters:
  `key` - The unique recipe key
  `result` - The item you want the recipe to create.
  `source` - The input material.
  `experience` - The experience given by this recipe
  `cookingTime` - The cooking time (in ticks)

### CookingRecipe

public CookingRecipe(@NotNull @NotNull NamespacedKey key, @NotNull @NotNull ItemStack result, @NotNull @NotNull RecipeChoice input, float experience, int cookingTime)
Create a cooking recipe to craft the specified ItemStack.

Parameters:
  `key` - The unique recipe key
  `result` - The item you want the recipe to create.
  `input` - The input choices.
  `experience` - The experience given by this recipe
  `cookingTime` - The cooking time (in ticks)

## Method Details

### setInput

@NotNull public @NotNull CookingRecipe setInput(@NotNull @NotNull Material input)
Sets the input of this cooking recipe.

Parameters:
  `input` - The input material.
Returns:
  The changed recipe, so you can chain calls.

### getInput

@NotNull public @NotNull ItemStack getInput()
Get the input material.

Returns:
  The input material.

### setInputChoice

@NotNull public T setInputChoice(@NotNull @NotNull RecipeChoice input)
Sets the input of this cooking recipe.

Parameters:
  `input` - The input choice.
Returns:
  The changed recipe, so you can chain calls.

### getInputChoice

@NotNull public @NotNull RecipeChoice getInputChoice()
Get the input choice.

Returns:
  The input choice.

### getResult

@NotNull public @NotNull ItemStack getResult()
Get the result of this recipe.

Specified by:
  `getResult` in interface `Recipe`
Returns:
  The resulting stack.

### setExperience

public void setExperience(float experience)
Sets the experience given by this recipe.

Parameters:
  `experience` - the experience level

### getExperience

public float getExperience()
Get the experience given by this recipe.

Returns:
  experience level

### setCookingTime

public void setCookingTime(int cookingTime)
Set the cooking time for this recipe in ticks.

Parameters:
  `cookingTime` - new cooking time

### getCookingTime

public int getCookingTime()
Get the cooking time for this recipe in ticks.

Returns:
  cooking time

### getKey

@NotNull public @NotNull NamespacedKey getKey()
Description copied from interface: `Keyed`
Return the namespaced identifier for this object.

Specified by:
  `getKey` in interface `Keyed`
Returns:
  this object's key

### getGroup

@NotNull public @NotNull String getGroup()
Get the group of this recipe. Recipes with the same group may be grouped together when displayed in the client.

Returns:
  recipe group. An empty string denotes no group. May not be null.

### setGroup

public void setGroup(@NotNull @NotNull String group)
Set the group of this recipe. Recipes with the same group may be grouped together when displayed in the client.

Parameters:
  `group` - recipe group. An empty string denotes no group. May not be null.