Class CookingRecipe<T extends CookingRecipe>

java.lang.Object
org.bukkit.inventory.CookingRecipe<T>
Type Parameters:
T - type of recipe
All Implemented Interfaces:
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 Details

    • CookingRecipe

      public CookingRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result, @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 NamespacedKey key, @NotNull ItemStack result, @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 CookingRecipe setInput(@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 ItemStack getInput()
      Get the input material.
      Returns:
      The input material.
    • setInputChoice

      @NotNull public T setInputChoice(@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 RecipeChoice getInputChoice()
      Get the input choice.
      Returns:
      The input choice.
    • getResult

      @NotNull public 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 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 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 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.