Interface FoodComponent

All Superinterfaces:
ConfigurationSerializable

@Experimental public interface FoodComponent extends ConfigurationSerializable
Represents a component which can turn any item into food.
  • Method Details

    • getNutrition

      int getNutrition()
      Gets the food restored by this item when eaten.
      Returns:
      nutrition value
    • setNutrition

      void setNutrition(int nutrition)
      Sets the food restored by this item when eaten.
      Parameters:
      nutrition - new nutrition value, must be non-negative
    • getSaturation

      float getSaturation()
      Gets the saturation restored by this item when eaten.
      Returns:
      saturation value
    • setSaturation

      void setSaturation(float saturation)
      Sets the saturation restored by this item when eaten.
      Parameters:
      saturation - new saturation value
    • canAlwaysEat

      boolean canAlwaysEat()
      Gets if this item can be eaten even when not hungry.
      Returns:
      true if always edible
    • setCanAlwaysEat

      void setCanAlwaysEat(boolean canAlwaysEat)
      Sets if this item can be eaten even when not hungry.
      Parameters:
      canAlwaysEat - whether always edible
    • getEatSeconds

      float getEatSeconds()
      Gets the time in seconds it will take for this item to be eaten.
      Returns:
      eat time
    • setEatSeconds

      void setEatSeconds(float eatSeconds)
      Sets the time in seconds it will take for this item to be eaten.
      Parameters:
      eatSeconds - new eat time
    • getUsingConvertsTo

      @Nullable ItemStack getUsingConvertsTo()
      Gets the item this food will convert to once eaten.
      Returns:
      converted item
    • setUsingConvertsTo

      void setUsingConvertsTo(@Nullable ItemStack item)
      Sets the item this food will convert to once eaten.
      Parameters:
      item - converted item
    • getEffects

      @NotNull List<FoodComponent.FoodEffect> getEffects()
      Gets the effects which may be applied by this item when eaten.
      Returns:
      food effects
    • setEffects

      void setEffects(@NotNull List<FoodComponent.FoodEffect> effects)
      Sets the effects which may be applied by this item when eaten.
      Parameters:
      effects - new effects
    • addEffect

      @NotNull FoodComponent.FoodEffect addEffect(@NotNull PotionEffect effect, float probability)
      Adds an effect which may be applied by this item when eaten.
      Parameters:
      effect - the effect
      probability - the probability of the effect being applied
      Returns:
      the added effect