Class StatusEffect

java.lang.Object
io.github.thebusybiscuit.slimefun4.api.player.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 Details

  • Method Details

    • getKey

      @Nonnull public NamespacedKey getKey()
      Specified by:
      getKey in interface Keyed
    • add

      public void add(@Nonnull Player p, int duration, @Nonnull TimeUnit unit)
      This applies this StatusEffect to the given Player. You can specify a duration, this will reference add(Player, int, int, TimeUnit) with a level of 1.
      Parameters:
      p - The Player whom to apply the effect to
      duration - The duration of how long that status effect shall last
      unit - The TimeUnit for the given duration
    • add

      public void add(@Nonnull Player p, int level, int duration, @Nonnull 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(@Nonnull 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(@Nonnull 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

      @Nonnull public OptionalInt getLevel(@Nonnull 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
    • clear

      public void clear(@Nonnull Player p)
      This will remove this StatusEffect from the given Player.
      Parameters:
      p - The Player to clear it from