pulls out Jumanji drums and chants 1.13…1.13…
As many of you know, we’ve had a lot of plans for breaking the API to keep it moving forward, and with 1.13’s development being a focused on improving usage and taking the necessary steps to maintain 1.12’s support within the Sponge community. As many plugin developers and sponge staff know, we’ve been planning on having API 8 for Minecraft 1.13, however, we’ve recently decided to make it a community decision whether API 8 is focused on Minecraft 1.12’s environment, possibly improving maintenance costs for the support of API 8 and Minecraft 1.13’s equivalent of SpongeAPI.
We have already made some changes for API 8 that are already on our bleeding branch:
SubjectUpdateEventto allow plugins to listen for permission updates in real time
- Change how Skin data works to allow arbitary profile data to be used
- Many, many updates to the Inventory API, including indexed access to inventories and better inventory transaction results
To list a few of the API changes that we want to make for our next API version are:
- Refactoring Properties out of the API to implementation
- Refactor Values for an improved class hierarchy
- Move BlockStateMatcher to implementation
- Refactor LaunchProjectileEvent
- Move Text implementation to implementation
- Introduce CatalogKeys to match registries better with forge, once merged, will also involve some refactoring of the SpongeAPI registries API
- CustomData class generation to improve ease of use for custom data
- Conversation API
All of these are independent of whether the API these are merged for are for Minecraft 1.12 or Minecraft 1.13.
One notable exception is the Command API changes. Our goal for API 8, if there is a consensus for it to be for Minecraft 1.12, is to make breaking, but easy to fix changes, so that plugin developers can quickly update their plugins to ensure a quick API 8 uptake. Commands is a major break, this is due to the fact that Minecraft 1.13 the base system for commands has undergone significant changes. Such changes will require significant rework, leading to the decision that the new command system will be for Minecraft 1.13, whatever the API revision that becomes.
- API 8 for Minecraft 1.12
- API 8 for Minecraft 1.13
Of course, the results of this vote does not mean that the Sponge team will drop support for Minecraft 1.12, we still honor our promise to support the version for at the very least another year.