Prison v2.0.0
fynntimes opened this issue ยท 0 comments
Prison v2.0.0's goal is to bring the plugin leaps forward in code and user experience. This is also nicknamed as the Quantum Update.
Codebase reshuffle
- Packages should be renamed from
tech.mcprison
tome.faizaand
as per the new domain. - License should be updated.
- Split
prison-core
intoprison-api
andprison-common
, for more sanity when it comes to depending on Prison as well as implementing platforms for it. API will contain the actual API, while common will implement as much as it can before handing it off to the platform.
Asynchronous architecture
- Terminable system for easy clean-up.
- Scheduler using Completable Futures.
- Storage using Completable Futures.
- New events system based on Lucko's helper system.
- Provider system for platforms to provide objects.
Game package overhaul
- Add more entities than just player
- Refine block states
- Use new events system, make it easier for platforms to call them (EventProvider)
- Better solution to the
Platform
interface, perhaps with providers (GameProvider for world and entities)
Integration pipeline
- Refine integration pipeline's inner logic
- Allow more input from players as to which plugin to use (?)
- Make selections a part of integrations
Commands and Localization overhaul
- Centralized LocaleManager
- Command builder instead of annotations for more flexibility
GUI Overhaul
- Advanced GUI system
- Masks for decoration
Platforms
- Redo Spigot platform implementation using new systems
- Add Sponge platform implementation. This is a release target.
Integrations
- Featherboard support
- WorldEdit support
Documentation
- Move documentation to Sphinx.
- Spanish documentation.
- Developer API documentation.