Interface AreaEffectCloud

All Superinterfaces:
Audience, CommandSender, Entity, HoverEventSource<HoverEvent.ShowEntity>, Metadatable, Nameable, Permissible, PersistentDataHolder, Pointered, ServerOperator, Sound.Emitter

public interface AreaEffectCloud extends Entity
Represents an area effect cloud which will imbue a potion effect onto entities which enter it.
  • Method Details

    • getDuration

      int getDuration()
      Gets the duration which this cloud will exist for (in ticks).
      Returns:
      cloud duration
    • setDuration

      void setDuration(int duration)
      Sets the duration which this cloud will exist for (in ticks).
      Parameters:
      duration - cloud duration
    • getWaitTime

      int getWaitTime()
      Gets the time which an entity has to be exposed to the cloud before the effect is applied.
      Returns:
      wait time
    • setWaitTime

      void setWaitTime(int waitTime)
      Sets the time which an entity has to be exposed to the cloud before the effect is applied.
      Parameters:
      waitTime - wait time
    • getReapplicationDelay

      int getReapplicationDelay()
      Gets the time that an entity will be immune from subsequent exposure.
      Returns:
      reapplication delay
    • setReapplicationDelay

      void setReapplicationDelay(int delay)
      Sets the time that an entity will be immune from subsequent exposure.
      Parameters:
      delay - reapplication delay
    • getDurationOnUse

      int getDurationOnUse()
      Gets the amount that the duration of this cloud will decrease by when it applies an effect to an entity.
      Returns:
      duration on use delta
    • setDurationOnUse

      void setDurationOnUse(int duration)
      Sets the amount that the duration of this cloud will decrease by when it applies an effect to an entity.
      Parameters:
      duration - duration on use delta
    • getRadius

      float getRadius()
      Gets the initial radius of the cloud.
      Returns:
      radius
    • setRadius

      void setRadius(float radius)
      Sets the initial radius of the cloud.
      Parameters:
      radius - radius
    • getRadiusOnUse

      float getRadiusOnUse()
      Gets the amount that the radius of this cloud will decrease by when it applies an effect to an entity.
      Returns:
      radius on use delta
    • setRadiusOnUse

      void setRadiusOnUse(float radius)
      Sets the amount that the radius of this cloud will decrease by when it applies an effect to an entity.
      Parameters:
      radius - radius on use delta
    • getRadiusPerTick

      float getRadiusPerTick()
      Gets the amount that the radius of this cloud will decrease by each tick.
      Returns:
      radius per tick delta
    • setRadiusPerTick

      void setRadiusPerTick(float radius)
      Gets the amount that the radius of this cloud will decrease by each tick.
      Parameters:
      radius - per tick delta
    • getParticle

      @NotNull @NotNull Particle getParticle()
      Gets the particle which this cloud will be composed of
      Returns:
      particle the set particle type
    • setParticle

      void setParticle(@NotNull @NotNull Particle particle)
      Sets the particle which this cloud will be composed of
      Parameters:
      particle - the new particle type
    • setParticle

      <T> void setParticle(@NotNull @NotNull Particle particle, @Nullable T data)
      Sets the particle which this cloud will be composed of
      Type Parameters:
      T - type of particle data (see Particle.getDataType()
      Parameters:
      particle - the new particle type
      data - the data to use for the particle or null, the type of this depends on Particle.getDataType()
    • setBasePotionData

      void setBasePotionData(@NotNull @NotNull PotionData data)
      Sets the underlying potion data
      Parameters:
      data - PotionData to set the base potion state to
    • getBasePotionData

      @NotNull @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 @NotNull List<PotionEffect> getCustomEffects()
      Gets an immutable list containing all custom potion effects applied to this cloud.

      Plugins should check that hasCustomEffects() returns true before calling this method.

      Returns:
      the immutable list of custom potion effects
    • addCustomEffect

      boolean addCustomEffect(@NotNull @NotNull PotionEffect effect, boolean overwrite)
      Adds a custom potion effect to this cloud.
      Parameters:
      effect - the potion effect to add
      overwrite - true if any existing effect of the same type should be overwritten
      Returns:
      true if the effect was added as a result of this call
    • removeCustomEffect

      boolean removeCustomEffect(@NotNull @NotNull PotionEffectType type)
      Removes a custom potion effect from this cloud.
      Parameters:
      type - the potion effect type to remove
      Returns:
      true if the an effect was removed as a result of this call
    • hasCustomEffect

      boolean hasCustomEffect(@Nullable @Nullable PotionEffectType type)
      Checks for a specific custom potion effect type on this cloud.
      Parameters:
      type - the potion effect type to check for
      Returns:
      true if the potion has this effect
    • clearCustomEffects

      void clearCustomEffects()
      Removes all custom potion effects from this cloud.
    • getColor

      @NotNull @NotNull Color getColor()
      Gets the color of this cloud. Will be applied as a tint to its particles.
      Returns:
      cloud color
    • setColor

      void setColor(@NotNull @NotNull Color color)
      Sets the color of this cloud. Will be applied as a tint to its particles.
      Parameters:
      color - cloud color
    • getSource

      Retrieve the original source of this cloud.
      Returns:
      the ProjectileSource that threw the LingeringPotion
    • setSource

      void setSource(@Nullable @Nullable ProjectileSource source)
      Set the original source of this cloud.
      Parameters:
      source - the ProjectileSource that threw the LingeringPotion