
org.bukkit.inventory.meta.PotionMeta Maven / Gradle / Ivy
Show all versions of walk-server Show documentation
package org.bukkit.inventory.meta;
import org.bukkit.Material;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import java.util.List;
/**
* Represents a potion ({@link Material#POTION}) that can have custom effects.
*/
public interface PotionMeta extends ItemMeta {
/**
* Checks for the presence of custom potion effects.
*
* @return true if custom potion effects are applied
*/
boolean hasCustomEffects();
/**
* Gets an immutable list containing all custom potion effects applied to
* this potion.
*
* Plugins should check that hasCustomEffects() returns true before
* calling this method.
*
* @return the immutable list of custom potion effects
*/
List getCustomEffects();
/**
* Adds a custom potion effect to this potion.
*
* @param effect the potion effect to add
* @param overwrite true if any existing effect of the same type should be
* overwritten
* @return true if the potion meta changed as a result of this call
*/
boolean addCustomEffect(PotionEffect effect, boolean overwrite);
/**
* Removes a custom potion effect from this potion.
*
* @param type the potion effect type to remove
* @return true if the potion meta changed as a result of this call
*/
boolean removeCustomEffect(PotionEffectType type);
/**
* Checks for a specific custom potion effect type on this potion.
*
* @param type the potion effect type to check for
* @return true if the potion has this effect
*/
boolean hasCustomEffect(PotionEffectType type);
/**
* 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.
*
* @param type the potion effect type to move
* @return true if the potion meta changed as a result of this call
*/
boolean setMainEffect(PotionEffectType type);
/**
* Removes all custom potion effects from this potion.
*
* @return true if the potion meta changed as a result of this call
*/
boolean clearCustomEffects();
PotionMeta clone();
}