# Uses of Interface
org.bukkit.inventory.Recipe

Packages that use Recipe
Package
Description
org.bukkit
The root package of the Bukkit API, contains generalized API classes.
org.bukkit.event.inventory
`Events` relating to `inventory` manipulation.
org.bukkit.inventory
Classes involved in manipulating player inventories and item interactions.

## Uses of Recipe in org.bukkit

Methods in org.bukkit that return Recipe
Modifier and Type
Method
Description
`static @Nullable Recipe`
Bukkit.`getCraftingRecipe(@NotNull ItemStack[] craftingMatrix, @NotNull World world)`
Get the `Recipe` for the list of ItemStacks provided.
`@Nullable Recipe`
Server.`getCraftingRecipe(@NotNull ItemStack[] craftingMatrix, @NotNull World world)`
Get the `Recipe` for the list of ItemStacks provided.
`static @Nullable Recipe`
Bukkit.`getRecipe(@NotNull NamespacedKey recipeKey)`
Get the `Recipe` for the given key.
`@Nullable Recipe`
Server.`getRecipe(@NotNull NamespacedKey recipeKey)`
Get the `Recipe` for the given key.
Methods in org.bukkit that return types with arguments of type Recipe
Modifier and Type
Method
Description
`static @NotNull List<Recipe>`
Bukkit.`getRecipesFor(@NotNull ItemStack result)`
Get a list of all recipes for a given item.
`@NotNull List<Recipe>`
Server.`getRecipesFor(@NotNull ItemStack result)`
Get a list of all recipes for a given item.
`static @NotNull Iterator<Recipe>`
Bukkit.`recipeIterator()`
Get an iterator through the list of crafting recipes.
`@NotNull Iterator<Recipe>`
Server.`recipeIterator()`
Get an iterator through the list of crafting recipes.
Methods in org.bukkit with parameters of type Recipe
Modifier and Type
Method
Description
`static boolean`
Bukkit.`addRecipe(@Nullable Recipe recipe)`
Adds a recipe to the crafting manager.
`boolean`
Server.`addRecipe(@Nullable Recipe recipe)`
Adds a recipe to the crafting manager.

## Uses of Recipe in org.bukkit.event.inventory

Methods in org.bukkit.event.inventory that return Recipe
Modifier and Type
Method
Description
`@NotNull Recipe`
CraftItemEvent.`getRecipe()`
`@Nullable Recipe`
PrepareItemCraftEvent.`getRecipe()`
Get the recipe that has been formed.
Constructors in org.bukkit.event.inventory with parameters of type Recipe
Modifier
Constructor
Description
``
`CraftItemEvent(@NotNull Recipe recipe, @NotNull InventoryView what, @NotNull InventoryType.SlotType type, int slot, @NotNull ClickType click, @NotNull InventoryAction action)`
``
`CraftItemEvent(@NotNull Recipe recipe, @NotNull InventoryView what, @NotNull InventoryType.SlotType type, int slot, @NotNull ClickType click, @NotNull InventoryAction action, int key)`

## Uses of Recipe in org.bukkit.inventory

Subinterfaces of Recipe in org.bukkit.inventory
Modifier and Type
Interface
Description
`interface`
`ComplexRecipe`
Represents a complex recipe which has imperative server-defined behavior, eg armor dyeing.
Classes in org.bukkit.inventory that implement Recipe
Modifier and Type
Class
Description
`class`
`BlastingRecipe`
Represents a campfire recipe.
`class`
`CampfireRecipe`
Represents a campfire recipe.
`class`
`CookingRecipe<T extends CookingRecipe>`
Represents a cooking recipe.
`class`
`FurnaceRecipe`
Represents a furnace recipe.
`class`
`MerchantRecipe`
Represents a merchant's trade.
`class`
`ShapedRecipe`
Represents a shaped (ie normal) crafting recipe.
`class`
`ShapelessRecipe`
Represents a shapeless recipe, where the arrangement of the ingredients on the crafting grid does not matter.
`class`
`SmithingRecipe`
Represents a smithing recipe.
`class`
`SmokingRecipe`
Represents a campfire recipe.
`class`
`StonecuttingRecipe`
Represents a Stonecutting recipe.
Methods in org.bukkit.inventory that return Recipe
Modifier and Type
Method
Description
`@Nullable Recipe`
CraftingInventory.`getRecipe()`
Get the current recipe formed on the crafting inventory, if any.
`@Nullable Recipe`
SmithingInventory.`getRecipe()`
Get the current recipe formed on the smithing table, if any.