Prison 3

Prison 3

191k Downloads

Prison v2.0.0

fynntimes opened this issue ยท 0 comments

commented

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 to me.faizaand as per the new domain.
  • License should be updated.
  • Split prison-core into prison-api and prison-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.