Class PlayerEffectMechanic

java.lang.Object
me.deecaad.core.mechanics.defaultmechanics.Mechanic
me.deecaad.core.mechanics.PlayerEffectMechanic
All Implemented Interfaces:
InlineSerializer<Mechanic>, Serializer<Mechanic>, net.kyori.adventure.key.Keyed, org.bukkit.Keyed
Direct Known Subclasses:
CustomSoundMechanic, FireworkMechanic, SoundMechanic

public abstract class PlayerEffectMechanic extends Mechanic
  • Constructor Details

    • PlayerEffectMechanic

      public PlayerEffectMechanic()
  • Method Details

    • playFor

      public abstract void playFor(CastData castData, List<org.bukkit.entity.Player> viewers)
      Similar to Mechanic.use0(CastData) but instead of using this Mechanic's viewer targeter and viewer conditions, the mechanic is used for the given viewer.

      This is done to address a performance issue associated with having multiple per-player mechanics in the same list. See #311 for more info.

      Parameters:
      castData - The source of the mechanic... who is casting.
      viewers - The target of the mechanic.
    • getViewerTargeter

      @Nullable public abstract @Nullable Targeter getViewerTargeter()
    • getViewerConditions

      public abstract List<Condition> getViewerConditions()