001    package org.bukkit.inventory.meta;
002    
003    import org.bukkit.FireworkEffect;
004    import org.bukkit.Material;
005    
006    /**
007     * Represents a meta that can store a single FireworkEffect. An example
008     * includes {@link Material#FIREWORK_CHARGE}.
009     */
010    public interface FireworkEffectMeta extends ItemMeta {
011    
012        /**
013         * Sets the firework effect for this meta.
014         *
015         * @param effect the effect to set, or null to indicate none.
016         */
017        void setEffect(FireworkEffect effect);
018    
019        /**
020         * Checks if this meta has an effect.
021         *
022         * @return true if this meta has an effect, false otherwise
023         */
024        boolean hasEffect();
025    
026        /**
027         * Gets the firework effect for this meta.
028         *
029         * @return the current effect, or null if none
030         */
031        FireworkEffect getEffect();
032    
033        FireworkEffectMeta clone();
034    }