Interface PotionMeta

    • 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 add
        overwrite - 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.
        use PotionType(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