Movecraft
Movecraft copied to clipboard
Use Dependency Injection for service initialization
Describe in detail what your pull request accomplishes
- Use Dirk as a Dependency Injection (DI) framework to allow for simpler usage of the inversion of control pattern.
- Adds several building block life cycle management systems to abstract away common patterns
Servicefor startup/stop patternsWorkerfor an async/sync background processors
- Simplifies event handler registration by automatically doing so once added to the DI container.
- Abstract version management concepts via inversion of control
- Dependents can use
VersionInfoto access version related data
- Dependents can use
- Abstract settings lifecycle management via a
Service- Eventually it would be good to migrate
Settingsto be injected, but that is out of scope for now
- Eventually it would be good to migrate
- Migrate several small startup routines to
Servicesingletons - Migrate all startup
BukkitRunnableimplementations toWorker - TODO: Add unit test
Checklist
- [ ] Unit tests
- [ ] Proper internationalization
- [ ] Tested
- [ ] Performance tested