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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.bukkit.inventory.meta.ItemMeta
ItemMeta.Spigot
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description boolean
addCustomEffect(PotionEffect effect, boolean overwrite)
Adds a custom potion effect to this potion.boolean
clearCustomEffects()
Removes all custom potion effects from this potion.PotionMeta
clone()
PotionData
getBasePotionData()
Returns the potion data about the base potionColor
getColor()
Gets the potion color that is set.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(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(PotionEffectType type)
Removes a custom potion effect from this potion.void
setBasePotionData(PotionData data)
Sets the underlying potion datavoid
setColor(Color color)
Sets the potion color.boolean
setMainEffect(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, spigot
-
Methods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainer
-
-
-
-
Method Detail
-
setBasePotionData
void setBasePotionData(@NotNull PotionData data)
Sets the underlying potion data- Parameters:
data
- PotionData to set the base potion state to
-
getBasePotionData
@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 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 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 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 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 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 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 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()
-
-