Package org.bukkit.inventory.meta
Interface PotionMeta
-
- All Superinterfaces:
Cloneable
,ConfigurationSerializable
,ItemMeta
,PersistentDataHolder
public interface PotionMeta extends ItemMeta
Represents a potion or item that can have custom effects.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description boolean
addCustomEffect(@NotNull PotionEffect effect, boolean overwrite)
Adds a custom potion effect to this potion.boolean
clearCustomEffects()
Removes all custom potion effects from this potion.PotionMeta
clone()
@NotNull PotionData
getBasePotionData()
Returns the potion data about the base potion@Nullable Color
getColor()
Gets the potion color that is set.@NotNull List<PotionEffect>
getCustomEffects()
Gets an immutable list containing all custom potion effects applied to this potion.boolean
hasColor()
Checks for existence of a potion color.boolean
hasCustomEffect(@NotNull PotionEffectType type)
Checks for a specific custom potion effect type on this potion.boolean
hasCustomEffects()
Checks for the presence of custom potion effects.boolean
removeCustomEffect(@NotNull PotionEffectType type)
Removes a custom potion effect from this potion.void
setBasePotionData(@NotNull PotionData data)
Sets the underlying potion datavoid
setColor(@Nullable Color color)
Sets the potion color.boolean
setMainEffect(@NotNull PotionEffectType type)
Deprecated.usePotionType(org.bukkit.potion.PotionEffectType, boolean, boolean)
-
Methods inherited from interface org.bukkit.configuration.serialization.ConfigurationSerializable
serialize
-
Methods inherited from interface org.bukkit.inventory.meta.ItemMeta
addAttributeModifier, addEnchant, addItemFlags, getAttributeModifiers, getAttributeModifiers, getAttributeModifiers, getCustomModelData, getCustomTagContainer, getDisplayName, getEnchantLevel, getEnchants, getItemFlags, getLocalizedName, getLore, hasAttributeModifiers, hasConflictingEnchant, hasCustomModelData, hasDisplayName, hasEnchant, hasEnchants, hasItemFlag, hasLocalizedName, hasLore, isUnbreakable, removeAttributeModifier, removeAttributeModifier, removeAttributeModifier, removeEnchant, removeItemFlags, setAttributeModifiers, setCustomModelData, setDisplayName, setLocalizedName, setLore, setUnbreakable, setVersion
-
Methods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainer
-
-
-
-
Method Detail
-
setBasePotionData
void setBasePotionData(@NotNull @NotNull PotionData data)
Sets the underlying potion data- Parameters:
data
- PotionData to set the base potion state to
-
getBasePotionData
@NotNull @NotNull PotionData getBasePotionData()
Returns the potion data about the base potion- Returns:
- a PotionData object
-
hasCustomEffects
boolean hasCustomEffects()
Checks for the presence of custom potion effects.- Returns:
- true if custom potion effects are applied
-
getCustomEffects
@NotNull @NotNull List<PotionEffect> getCustomEffects()
Gets an immutable list containing all custom potion effects applied to this potion.Plugins should check that hasCustomEffects() returns true before calling this method.
- Returns:
- the immutable list of custom potion effects
-
addCustomEffect
boolean addCustomEffect(@NotNull @NotNull PotionEffect effect, boolean overwrite)
Adds a custom potion effect to this potion.- Parameters:
effect
- the potion effect to addoverwrite
- true if any existing effect of the same type should be overwritten- Returns:
- true if the potion meta changed as a result of this call
-
removeCustomEffect
boolean removeCustomEffect(@NotNull @NotNull PotionEffectType type)
Removes a custom potion effect from this potion.- Parameters:
type
- the potion effect type to remove- Returns:
- true if the potion meta changed as a result of this call
-
hasCustomEffect
boolean hasCustomEffect(@NotNull @NotNull PotionEffectType type)
Checks for a specific custom potion effect type on this potion.- Parameters:
type
- the potion effect type to check for- Returns:
- true if the potion has this effect
-
setMainEffect
@Deprecated boolean setMainEffect(@NotNull @NotNull PotionEffectType type)
Deprecated.usePotionType(org.bukkit.potion.PotionEffectType, boolean, boolean)
Moves a potion effect to the top of the potion effect list.This causes the client to display the potion effect in the potion's name.
- Parameters:
type
- the potion effect type to move- Returns:
- true if the potion meta changed as a result of this call
-
clearCustomEffects
boolean clearCustomEffects()
Removes all custom potion effects from this potion.- Returns:
- true if the potion meta changed as a result of this call
-
hasColor
boolean hasColor()
Checks for existence of a potion color.- Returns:
- true if this has a custom potion color
-
getColor
@Nullable @Nullable Color getColor()
Gets the potion color that is set. A custom potion color will alter the display of the potion in an inventory slot.Plugins should check that hasColor() returns
true
before calling this method.- Returns:
- the potion color that is set
-
setColor
void setColor(@Nullable @Nullable Color color)
Sets the potion color. A custom potion color will alter the display of the potion in an inventory slot.- Parameters:
color
- the color to set
-
clone
PotionMeta clone()
-
-