-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Milestone
Description
Feature checklist
- Description
- Defined abstraction point (core/new project)
- Scope
- Design
Short description:
A high level abstraction for interacting with events in a flexible manner.
Best suited abstraction point
unknown
Why it should become a separate subproject
It can be implemented as an extension, given that it only requires hooking to events.
Why it shouldn't become a separate subproject
- It'd add another project to be maintained separately.
- It is a moderately complex system that involved the creation of low level abstractions, like
EventWaiter<T>. It would be beneficial if those structures (or even the feature of tracking and delegating events) became a part of the mod loader's core api.
Why it should become a core api
The core api, sisbase-core, currently doesn't have anything defined as for how events should be handled.
As such, the model of handling interactions could be implemented in the loader.
Why it shouldn't become a core api
This level of abstraction seems too high for being on the mod loader, seen that command handling, a feature with a similar level of abstraction, is handled as a separate project.