Class StatusEffect

  • All Implemented Interfaces:
    Keyed


    public class StatusEffect
    extends Object
    implements Keyed
    A very simple API that is meant for adding/getting/clearing custom status effects to/from players. The effects are stored via PersistentDataAPI and use NBT data that is saved across server restarts. You can specify a level for your status effect too.
    Author:
    TheBusyBiscuit
    • Constructor Detail

    • Method Detail

      • add

        public void add​(Player p,
                        int level,
                        int duration,
                        TimeUnit unit)
        This applies this StatusEffect to the given Player.
        Parameters:
        p - The Player whom to apply the effect to
        level - The level of this effect
        duration - The duration of how long that status effect shall last
        unit - The TimeUnit for the given duration
      • addPermanent

        public void addPermanent​(Player p,
                                 int level)
        This applies this StatusEffect to the given Player. This will apply it permanently, there is no duration.
        Parameters:
        p - The Player whom to apply the effect to
        level - The level of this effect
      • isPresent

        public boolean isPresent​(Player p)
        This will check whether this StatusEffect is currently applied to that Player. If the effect has expired, it will automatically remove all associated NBT data of this effect.
        Parameters:
        p - The Player to check for
        Returns:
        Whether this StatusEffect is currently applied
      • getLevel

        public OptionalInt getLevel​(Player p)
        This method returns an OptionalInt describing the level of this status effect on that player.
        Parameters:
        p - The Player to check for
        Returns:
        An OptionalInt that describes the result