class

EventBus

Central event distribution system. Use register(), registerAsync(), registerGlobal(), dispatchFor(), dispatchForAsync().

Methods

EventDispatcher dispatchFor()

Get dispatcher for sync event. Params: (Class<E> eventClass). Then call dispatch(event) on result.

AsyncEventDispatcher dispatchForAsync()

Get dispatcher for async event. Params: (Class<E> eventClass). Then call dispatch(event) returning CompletableFuture.

EventRegistration register()

Register sync event handler. Params: (Class<E> eventClass, Consumer<E> handler) or (EventPriority priority, Class<E> eventClass, Consumer<E> handler)

EventRegistration registerAsync()

Register async event handler. Params: (EventPriority priority, Class<E> eventClass, Function<CompletableFuture<E>, CompletableFuture<E>> handler)

EventRegistration registerGlobal()

Register handler for all event keys. Params: (Class<E> eventClass, Consumer<E> handler)

EventRegistration registerUnhandled()

Register fallback handler only called if no specific handler processed. Params: (Class<E> eventClass, Consumer<E> handler)