Class TEventFactory
java.lang.Object
io.github.thecsdev.tcdcommons.api.event.TEventFactory
An event system implementation inspired by and similar to
The reason for this implementation is customization and avoiding dependencies.
dev.architectury.event
's implementation.The reason for this implementation is customization and avoiding dependencies.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> TEvent
<T> createEventResult
(T... eventTypeClassGetter) Same ascreateLoop(Object...)
, but listeners must return aTEventResult
.static <T> TKeyedEvent
<T> createKeyedEventResult
(T... eventTypeClassGetter) Same ascreateKeyedLoop(Object...)
, but listeners must return aTEventResult
.static <T> TKeyedEvent
<T> createKeyedLoop
(T... eventTypeClassGetter) Creates aTKeyedEvent
.static <T> TEvent
<T> createLoop
(T... eventTypeClassGetter) Creates aTEvent
.static <T> TEvent
<T> createWeakEventResult
(T... eventTypeClassGetter) static <T> TEvent
<T> createWeakLoop
(T... eventTypeClassGetter)
-
Method Details
-
createLoop
Creates a
TEvent
.This type of event stores its listeners in a
List
, and the listeners must be single-method interfaces that return void when executed.- Type Parameters:
T
- The event listener interface type.- Parameters:
eventTypeClassGetter
- Generic type getter. Leave this empty. Do not pass any arguments.
-
createEventResult
Same ascreateLoop(Object...)
, but listeners must return aTEventResult
.- Type Parameters:
T
- The event listener interface type.- Parameters:
eventTypeClassGetter
- Generic type getter. Leave this empty. Do not pass any arguments.
-
createWeakLoop
- Type Parameters:
T
- The event listener interface type.- Parameters:
eventTypeClassGetter
- Generic type getter. Leave this empty. Do not pass any arguments.
-
createWeakEventResult
- Type Parameters:
T
- The event listener interface type.- Parameters:
eventTypeClassGetter
- Generic type getter. Leave this empty. Do not pass any arguments.
-
createKeyedLoop
Creates a
TKeyedEvent
.This type of event stores its listeners in a
Map
, and the listeners must be single-method interfaces that return void when executed.In the
Map
, each event handler is associated with a "key" that serves as a unique "identifier" for the given event handler.- Type Parameters:
T
- The event listener interface type.- Parameters:
eventTypeClassGetter
- Generic type getter. Leave this empty. Do not pass any arguments.
-
createKeyedEventResult
Same ascreateKeyedLoop(Object...)
, but listeners must return aTEventResult
.- Type Parameters:
T
- The event listener interface type.- Parameters:
eventTypeClassGetter
- Generic type getter. Leave this empty. Do not pass any arguments.
-