Module Manager
A fairly simple module manager
Properties
Get the related CoroutineScope of receiver EventListener.
Returns whether the listenable is running or not, this is based on the parent listenable and if no parent is present, it will return the opposite of isDestructed.
Functions
Children EventListener
Returns computed ReadWriteProperty based on the accumulator of specific event.
Creates a ZIP file from multiple files (flatten)
Finds the best slot in this iterable for mining blockState using mc.player as baseline.
Joins a list of Component into a single Component with the given separator.
Exact total capacity of this iterable to store itemStack (empty slots count as ItemStack.maxStackSize, mergeable slots as their remaining space). Contract: the slot currently holding itemStack must NOT be part of this iterable, otherwise its own remaining capacity would be double-counted and the result overestimated.
Calls handler for every type event while this listener is running. Higher priority runs first. Close the result to stop early; unregister does the same for all of them.
task every game tick while this listener is running.
Parent EventListener
Register inbuilt client modules
Remove cached scope and cancel it.
Registers an event hook for events of type T and launches a sequence
Start a Job on event.
Registers a repeatable sequence which repeats the execution of code on GameTickEvent.
Unregisters the event handler from the manager. This decision is FINAL! After the class was unregistered we cannot restore the handlers.
Wrap the original interceptor and make it auto-detect the listener's running state at suspension to determine whether to resume the continuation.