EventBus
Central event distribution system. Use register(), registerAsync(), registerGlobal(), dispatchFor(), dispatchForAsync().
Methods
Get dispatcher for sync event. Params: (Class<E> eventClass). Then call dispatch(event) on result.
Get dispatcher for async event. Params: (Class<E> eventClass). Then call dispatch(event) returning CompletableFuture.
Register sync event handler. Params: (Class<E> eventClass, Consumer<E> handler) or (EventPriority priority, Class<E> eventClass, Consumer<E> handler)
Register async event handler. Params: (EventPriority priority, Class<E> eventClass, Function<CompletableFuture<E>, CompletableFuture<E>> handler)
Register handler for all event keys. Params: (Class<E> eventClass, Consumer<E> handler)
Register fallback handler only called if no specific handler processed. Params: (Class<E> eventClass, Consumer<E> handler)