Package org.bukkit.inventory

# Interface RecipeChoice

All Superinterfaces:
  `Cloneable`, `Predicate<ItemStack>`

All Known Implementing Classes:
  `ItemStackRecipeChoice`, `RecipeChoice.ExactChoice`, `RecipeChoice.MaterialChoice`

public interface RecipeChoice extends Predicate<ItemStack>, Cloneable
Represents a potential item match within a recipe. All choices within a recipe must be satisfied for it to be craftable. This class is not legal for implementation by plugins!

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static class`
`RecipeChoice.ExactChoice`
Represents a choice that will be valid only one of the stacks is exactly matched (aside from stack size).
`static class`
`RecipeChoice.MaterialChoice`
Represents a choice of multiple matching Materials.

## Method Summary

Modifier and Type
Method
Description
`@NotNull RecipeChoice`
`clone()`
`@NotNull ItemStack`
`getItemStack()`
Deprecated.
for compatibility only
`boolean`
`test(@NotNull ItemStack itemStack)`

### Methods inherited from interface java.util.function.Predicate

`and, negate, or`

## Method Details

### getItemStack

@Deprecated @NotNull @NotNull ItemStack getItemStack()
Deprecated.
for compatibility only
Gets a single item stack representative of this stack choice.

Returns:
  a single representative item

### clone

@NotNull @NotNull RecipeChoice clone()

### test

boolean test(@NotNull @NotNull ItemStack itemStack)

Specified by:
  `test` in interface `Predicate<ItemStack>`