package org.bukkit.entity; import java.util.List; import org.bukkit.Color; import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public interface Arrow extends AbstractArrow { /** * Sets the underlying potion data * * @param data PotionData to set the base potion state to */ void setBasePotionData(@NotNull PotionData data); /** * Returns the potion data about the base potion * * @return a PotionData object */ @NotNull PotionData getBasePotionData(); /** * Gets the color of this arrow. * * @return arrow {@link Color} or null if not color is set */ @Nullable Color getColor(); /** * Sets the color of this arrow. Will be applied as a tint to its particles. * * @param color arrow color, null to clear the color */ void setColor(@Nullable Color color); /** * 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 arrow. *
* Plugins should check that hasCustomEffects() returns true before calling
* this method.
*
* @return the immutable list of custom potion effects
*/
@NotNull
List