Class BrewingRecipeData

java.lang.Object
me.mehboss.utils.RecipeUtil.Recipe
me.mehboss.utils.data.BrewingRecipeData

public class BrewingRecipeData extends RecipeUtil.Recipe
Stores all extra data required for a custom brewing-stand recipe.

Extends RecipeUtil.Recipe by adding fields used specifically by brewing logic: ingredient item, fuel item, fuel behavior, bottle requirements, brew-action behavior, and slot indexing.

This is a flexible data container. Recipes may come from config, code, integrations, or any other source.

  • Constructor Details

    • BrewingRecipeData

      public BrewingRecipeData(String name)
  • Method Details

    • setBrewIngredient

      public void setBrewIngredient(RecipeUtil.Ingredient ingredientItem)
      Builds and stores the ingredient item used for brewing. Supports custom identifiers or vanilla material/meta.
      Parameters:
      ingredientItem - the ingredient definition to build the item from
    • getBrewIngredient

      public org.bukkit.inventory.ItemStack getBrewIngredient()
      Gets the brewing ingredient item.
      Returns:
      ingredient item created for this recipe
    • setBrewFuel

      public void setBrewFuel(RecipeUtil.Ingredient fuelItem)
      Builds and stores the fuel item used for brewing. Supports custom identifiers or vanilla material/meta.
      Parameters:
      fuelItem - the fuel definition used to construct the item
    • getBrewFuel

      public org.bukkit.inventory.ItemStack getBrewFuel()
      Gets the brewing fuel item.
      Returns:
      fuel item created for this recipe
    • setBrewAction

      public void setBrewAction(BrewAction action)
      Sets how this recipe behaves when brewing completes.
      Parameters:
      action - the brewing action to perform on completion
    • getBrewAction

      public BrewAction getBrewAction()
      Gets the brew action executed when brewing finishes.
      Returns:
      assigned brew action
    • setBrewPerfect

      public void setBrewPerfect(boolean perfect)
      Enables or disables exact matching for ingredient and fuel items.
      Parameters:
      perfect - true to require exact item matching
    • isBrewPerfect

      public boolean isBrewPerfect()
      Checks if ingredient and fuel must match exactly.
      Returns:
      true if strict matching is enabled
    • setBrewFuelSet

      public void setBrewFuelSet(int value)
      Sets how much internal fuel is added when consuming a fuel item.
      Parameters:
      value - amount of internal fuel to add
    • getBrewFuelSet

      public int getBrewFuelSet()
      Gets how much internal fuel is added per fuel item.
      Returns:
      fuel added per item
    • setBrewFuelCharge

      public void setBrewFuelCharge(int value)
      Sets how much internal fuel is consumed per brewing cycle.
      Parameters:
      value - amount of fuel consumed
    • getBrewFuelCharge

      public int getBrewFuelCharge()
      Gets how much fuel is consumed per brew cycle.
      Returns:
      fuel consumption amount
    • setBrewIngredientSlot

      public void setBrewIngredientSlot(int slot)
      Sets which slot is used for the ingredient.
      Parameters:
      slot - inventory slot index
    • getBrewIngredientSlot

      public int getBrewIngredientSlot()
      Gets the slot index used for the ingredient.
      Returns:
      ingredient slot index
    • setBrewFuelSlot

      public void setBrewFuelSlot(int slot)
      Sets which slot is used for the fuel.
      Parameters:
      slot - inventory slot index
    • getBrewFuelSlot

      public int getBrewFuelSlot()
      Gets the slot index used for the fuel.
      Returns:
      fuel slot index
    • setRequiresBottles

      public void setRequiresBottles(boolean requiresBottles)
      Enables or disables bottle validation for brewing results.
      Parameters:
      requiresBottles - true to require bottle-type slots
    • requiresBottles

      public boolean requiresBottles()
      Checks whether bottle validation is required.
      Returns:
      true if valid bottle items must be present
    • setRequiredBottleType

      public void setRequiredBottleType(org.bukkit.Material type)
      Sets the type of bottle required for valid brewing output.
      Parameters:
      type - the material representing the required bottle
    • getRequiredBottleType

      public org.bukkit.Material getRequiredBottleType()
      Gets the required bottle type for this recipe.
      Returns:
      bottle material required