Interface AreaEffectCloud

    • Method Detail

      • 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
        Particle getParticle()
        Gets the particle which this cloud will be composed of
        Returns:
        particle the set particle type
      • setParticle

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

        <T> void setParticle​(@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
                               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 cloud.

        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 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
                                   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
                                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
        Color getColor()
        Gets the color of this cloud. Will be applied as a tint to its particles.
        Returns:
        cloud color
      • setColor

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

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