Class EventSignalBuilder<T extends org.bukkit.event.Event>

java.lang.Object
me.tamkungz.signals.bukkit.event.EventSignalBuilder<T>
Type Parameters:
T - Bukkit event type

public final class EventSignalBuilder<T extends org.bukkit.event.Event> extends Object
Fluent options (priority, cancellation) for listening to one Bukkit event type.

Pick options, then either call signal() or connect a listener directly.

  • Constructor Details

  • Method Details

    • priority

      public EventSignalBuilder<T> priority(org.bukkit.event.EventPriority priority)
      Sets the priority the underlying Bukkit listener runs at; the default is EventPriority.NORMAL.
      Parameters:
      priority - Bukkit event priority
      Returns:
      this builder
    • lowest

      public EventSignalBuilder<T> lowest()
      Same as priority(EventPriority.LOWEST).
      Returns:
      this builder
    • low

      public EventSignalBuilder<T> low()
      Same as priority(EventPriority.LOW).
      Returns:
      this builder
    • normal

      public EventSignalBuilder<T> normal()
      Same as priority(EventPriority.NORMAL).
      Returns:
      this builder
    • high

      public EventSignalBuilder<T> high()
      Same as priority(EventPriority.HIGH).
      Returns:
      this builder
    • highest

      public EventSignalBuilder<T> highest()
      Same as priority(EventPriority.HIGHEST).
      Returns:
      this builder
    • monitor

      public EventSignalBuilder<T> monitor()
      Same as priority(EventPriority.MONITOR). Listeners at this priority must not change the event.
      Returns:
      this builder
    • ignoreCancelled

      public EventSignalBuilder<T> ignoreCancelled()
      Skips events that an earlier listener already cancelled.
      Returns:
      this builder
    • includeCancelled

      public EventSignalBuilder<T> includeCancelled()
      Delivers cancelled events too; this is the default.
      Returns:
      this builder
    • signal

      public me.tamkungz.signals.Signal<T> signal()
      Returns the signal for the chosen options, registering the Bukkit listener on first use.
      Returns:
      the signal for this event type, priority and cancellation mode
    • connect

      public me.tamkungz.signals.connection.Connection connect(Consumer<T> listener)
      Connects a listener to the signal for the chosen options.
      Parameters:
      listener - listener to call for every event
      Returns:
      the connection for this listener
    • connect

      public me.tamkungz.signals.connection.Connection connect(me.tamkungz.signals.connection.ConnectionGroup group, Consumer<T> listener)
      Connects a listener and tracks it in a group.
      Parameters:
      group - group that will disconnect the listener
      listener - listener to call for every event
      Returns:
      the connection for this listener
    • connectIf

      public me.tamkungz.signals.connection.Connection connectIf(Predicate<T> predicate, Consumer<T> listener)
      Connects a listener that only receives the events a predicate accepts.
      Parameters:
      predicate - decides which events reach the listener
      listener - listener to call for accepted events
      Returns:
      the connection for this listener
    • connectIf

      public me.tamkungz.signals.connection.Connection connectIf(me.tamkungz.signals.connection.ConnectionGroup group, Predicate<T> predicate, Consumer<T> listener)
      Connects a filtered listener and tracks it in a group.
      Parameters:
      group - group that will disconnect the listener
      predicate - decides which events reach the listener
      listener - listener to call for accepted events
      Returns:
      the connection for this listener
    • once

      public me.tamkungz.signals.connection.Connection once(Consumer<T> listener)
      Connects a listener that is disconnected after its first event.
      Parameters:
      listener - listener to call at most once
      Returns:
      the connection for this listener
    • once

      public me.tamkungz.signals.connection.Connection once(me.tamkungz.signals.connection.ConnectionGroup group, Consumer<T> listener)
      Connects a one-shot listener and tracks it in a group.
      Parameters:
      group - group that will disconnect the listener
      listener - listener to call at most once
      Returns:
      the connection for this listener