Class ShapelessRecipe

java.lang.Object
org.bukkit.inventory.ShapelessRecipe
All Implemented Interfaces:
Recipe, Keyed

public class ShapelessRecipe extends Object implements Recipe, Keyed
Represents a shapeless recipe, where the arrangement of the ingredients on the crafting grid does not matter.
  • Constructor Details

  • Method Details

    • addIngredient

      @NotNull public ShapelessRecipe addIngredient(@NotNull MaterialData ingredient)
      Adds the specified ingredient.
      Parameters:
      ingredient - The ingredient to add.
      Returns:
      The changed recipe, so you can chain calls.
    • addIngredient

      @NotNull public ShapelessRecipe addIngredient(@NotNull Material ingredient)
      Adds the specified ingredient.
      Parameters:
      ingredient - The ingredient to add.
      Returns:
      The changed recipe, so you can chain calls.
    • addIngredient

      @Deprecated @NotNull public ShapelessRecipe addIngredient(@NotNull Material ingredient, int rawdata)
      Deprecated.
      Magic value
      Adds the specified ingredient.
      Parameters:
      ingredient - The ingredient to add.
      rawdata - The data value, or -1 to allow any data value.
      Returns:
      The changed recipe, so you can chain calls.
    • addIngredient

      @NotNull public ShapelessRecipe addIngredient(int count, @NotNull MaterialData ingredient)
      Adds multiples of the specified ingredient.
      Parameters:
      count - How many to add (can't be more than 9!)
      ingredient - The ingredient to add.
      Returns:
      The changed recipe, so you can chain calls.
    • addIngredient

      @NotNull public ShapelessRecipe addIngredient(int count, @NotNull Material ingredient)
      Adds multiples of the specified ingredient.
      Parameters:
      count - How many to add (can't be more than 9!)
      ingredient - The ingredient to add.
      Returns:
      The changed recipe, so you can chain calls.
    • addIngredient

      @Deprecated @NotNull public ShapelessRecipe addIngredient(int count, @NotNull Material ingredient, int rawdata)
      Deprecated.
      Magic value
      Adds multiples of the specified ingredient.
      Parameters:
      count - How many to add (can't be more than 9!)
      ingredient - The ingredient to add.
      rawdata - The data value, or -1 to allow any data value.
      Returns:
      The changed recipe, so you can chain calls.
    • addIngredient

      @NotNull public ShapelessRecipe addIngredient(@NotNull RecipeChoice ingredient)
    • removeIngredient

      @NotNull public ShapelessRecipe removeIngredient(@NotNull RecipeChoice ingredient)
      Removes an ingredient from the list.
      Parameters:
      ingredient - The ingredient to remove
      Returns:
      The changed recipe.
    • removeIngredient

      @NotNull public ShapelessRecipe removeIngredient(@NotNull Material ingredient)
      Removes an ingredient from the list. If the ingredient occurs multiple times, only one instance of it is removed. Only removes exact matches, with a data value of 0.
      Parameters:
      ingredient - The ingredient to remove
      Returns:
      The changed recipe.
    • removeIngredient

      @NotNull public ShapelessRecipe removeIngredient(@NotNull MaterialData ingredient)
      Removes an ingredient from the list. If the ingredient occurs multiple times, only one instance of it is removed. If the data value is -1, only ingredients with a -1 data value will be removed.
      Parameters:
      ingredient - The ingredient to remove
      Returns:
      The changed recipe.
    • removeIngredient

      @NotNull public ShapelessRecipe removeIngredient(int count, @NotNull Material ingredient)
      Removes multiple instances of an ingredient from the list. If there are less instances then specified, all will be removed. Only removes exact matches, with a data value of 0.
      Parameters:
      count - The number of copies to remove.
      ingredient - The ingredient to remove
      Returns:
      The changed recipe.
    • removeIngredient

      @NotNull public ShapelessRecipe removeIngredient(int count, @NotNull MaterialData ingredient)
      Removes multiple instances of an ingredient from the list. If there are less instances then specified, all will be removed. If the data value is -1, only ingredients with a -1 data value will be removed.
      Parameters:
      count - The number of copies to remove.
      ingredient - The ingredient to remove.
      Returns:
      The changed recipe.
    • removeIngredient

      @Deprecated @NotNull public ShapelessRecipe removeIngredient(@NotNull Material ingredient, int rawdata)
      Deprecated.
      Magic value
      Removes an ingredient from the list. If the ingredient occurs multiple times, only one instance of it is removed. If the data value is -1, only ingredients with a -1 data value will be removed.
      Parameters:
      ingredient - The ingredient to remove
      rawdata - The data value;
      Returns:
      The changed recipe.
    • removeIngredient

      @Deprecated @NotNull public ShapelessRecipe removeIngredient(int count, @NotNull Material ingredient, int rawdata)
      Deprecated.
      Magic value
      Removes multiple instances of an ingredient from the list. If there are less instances then specified, all will be removed. If the data value is -1, only ingredients with a -1 data value will be removed.
      Parameters:
      count - The number of copies to remove.
      ingredient - The ingredient to remove.
      rawdata - The data value.
      Returns:
      The changed recipe.
    • getResult

      @NotNull public ItemStack getResult()
      Get the result of this recipe.
      Specified by:
      getResult in interface Recipe
      Returns:
      The result stack.
    • getIngredientList

      @NotNull public List<ItemStack> getIngredientList()
      Get the list of ingredients used for this recipe.
      Returns:
      The input list
    • getChoiceList

      @NotNull public List<RecipeChoice> getChoiceList()
    • 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.
    • getCategory

      @NotNull public CraftingBookCategory getCategory()
      Gets the category which this recipe will appear in the recipe book under. Defaults to CraftingBookCategory.MISC if not set.
      Returns:
      recipe book category
    • setCategory

      public void setCategory(@NotNull CraftingBookCategory category)
      Sets the category which this recipe will appear in the recipe book under. Defaults to CraftingBookCategory.MISC if not set.
      Parameters:
      category - recipe book category