Interface ListenerRegistry

All Superinterfaces:
Registry

public interface ListenerRegistry extends Registry
Owns both the plugin's own event listeners and the ones registered with the platform.
  • Method Details

    • getPulseListeners

      @NonNull Map<Class<? extends Event>, EnumMap<Event.Priority, List<UnaryOperator<Event>>>> getPulseListeners()
      Every registered plugin listener, grouped by event and priority.
      Returns:
      the listeners
    • getPulseListeners

      @NonNull Map<Event.Priority, List<UnaryOperator<Event>>> getPulseListeners(Class<? extends Event> event)
      The listeners for one event, grouped by priority.
      Parameters:
      event - the event type
      Returns:
      the listeners, empty if none are registered
    • registerPermanent

      void registerPermanent(PulseListener pulseListener)
      Registers a listener that survives reloads, for listeners owned by other plugins.
      Parameters:
      pulseListener - the listener
    • register

      void register(Class<?> clazzListener)
      Registers a listener by type, creating it through dependency injection.
      Parameters:
      clazzListener - the listener type
    • register

      void register(Class<?> clazzListener, Event.Priority eventPriority)
      Registers a listener by type at a given priority.
      Parameters:
      clazzListener - the listener type
      eventPriority - when it runs relative to the others
    • register

      void register(PulseListener pulseListener)
      Registers an already built listener.
      Parameters:
      pulseListener - the listener
    • register

      void register(Class<? extends Event> eventClass, Event.Priority priority, UnaryOperator<Event> handler)
      Registers a single handler for one event.
      Parameters:
      eventClass - the event type
      priority - when it runs relative to the others
      handler - handles the event and returns the possibly modified one
    • unregisterAll

      void unregisterAll()
      Removes every listener, including the permanent ones.
    • registerDefaultListeners

      void registerDefaultListeners()
      Registers the listeners the plugin always needs.