Hello everyone - it’s time for a project status update. We know that many of you really want us to update to 1.15.2/1.16.x, we’ve been seeing this question a lot (we will talk about it!), but we do have other things to talk about too!
SpongeAPI 8 and Minecraft 1.15.2
As we mentioned on the post for API 7.3 and RB 7.3.0 for 1.12.2, we have switched our development target from 1.14.4 to 1.15.2 to match Forge’s LTS support.
Our work towards the 1.15.2 update is progressing well, with SpongeVanilla in a partially operational development state. Due to the magic of Mixins and the way our project is structured, we are able to have some functionality operational while we work on the remainder. It is important to stress that this is still heavily in development and not ready for even experimental builds.
API 8 has many changes in it to ensure Sponge is in a much better shape for the future of Minecraft. Big changes include the Command, World and Data APIs in order to take advantage of the new features Minecraft provides, or to simplify some of the APIs that were hard to use in the past (I’m looking at you custom data!) In addition, we have replaced our Text API with Kyori’s Adventure 4 library, allowing us to support all the new Text based features on an accelerated timescale.
We anticipate only two more big changes need to land on the API, Registry changes and Volume Streams - then it’s making sure all of the old 1.12.2 implementation code is converted/replaced/removed with the 1.15.2 equivalents.
Plugins that have been written against API 8 can now load, register commands, create and load world and listen to some events. There are still some holes in the implementation, but they are closing! We still expect to have usable SpongeVanilla builds for 1.15.2 by the end of the year. SpongeForge will require additional glue code so we can work with Forge effectively - we will be working on that once SpongeVanilla has been completed.
Minecraft 1.16.x and beyond
We know that some of you want Sponge for 1.16.x. The bad news is that 1.15.2 will be first. The good news is that the move to 1.16.x will be nowhere near as difficult as the move from 1.12.2 to anything built after that as Mojang have not made hugely significant changes since then. As a result, we believe that the transition to 1.16.x should be considerably faster than the update to 1.15.2
SpongeAPI 7 and Minecraft 1.12.2
Very quick note on this one: we have slowed our own work on 7.x builds to focus on 8, but they are still supported. Please continue to submit issues and PRs.
After months of work, Ore 2.0.0-M3 is quickly approaching. It brings a new Vue frontend, quality of life changes, long-requested features, and a bigger API. In a few weeks from now, we’ll likely make an M3 staging website public. Once we do, we’d love to get help from all of you with testing that everything works correctly and unearth the undoubtedly numerous bugs just waiting under the surface.
We’d also like to remind everyone that we’re still on milestone releases of Ore 2.0.0. The official release is still not done. That means that the API can and will break at any moment. We already got one such change in the pipeline ready to go for M3. That being going from
/projects/:projectOwner/:projectSlug. If your application does not handle 302 redirects, it WILL break once M3 is officially released. We also got another breaking change scheduled that will change how Ore represents versions.
Sponge Online Infrastructure
You probably weren’t expecting us to talk about our online systems in a status update, but it is something that we’ve had to turn our attention to. Sponge is now 6 years old (surprise!) and for that time, our presence has been growing. We’ve been running the same core set of online services (such as our Maven repo, Sponge Auth, Sponge Downloads etc.) on the same hardware for some time now, and it became apparent that this hardware was heading for failure. As such, a few of the team, including @Zidane who has been particularly active on the API 8 front have had to step back and migrate our systems to new hardware, including swapping out some of our online systems with new, better alternatives.
We are pleased to say the systems that were most at risk have now been migrated to our newer systems, improving reliability. We still have some tweaking to do and this will require some downtime of some of our services - keep an eye on the announcements channel in Discord for when this might occur.
In particular, the SpongeDocs cannot update until we complete the migration - although they will still be available to read.
Sponge Downloads Site
In performing this migration, we have discovered some inherent issues in some of our systems. You may recall that earlier this year, our Downloads page went down for an extended period of time. We have struggled to keep it running and with these migrations, the Downloads system has started publishing the wrong builds to the downloads site for SpongeForge.
If you wish to download SpongeForge or SpongeVanilla, please use either the recommended build from the downloads website (they are unaffected) or download the builds via the commit on Github.
Because of the way the downloads software works, coupled with the fact it’s written in Go and we, as a team, have limited expertise in Go, we have started building a new system (in Java!) that will fit our future purposes. We hope to have the core feature set built and running ready as soon as we can.
And Finally: State of Sponge XIX
We are aware that we’ve not had a State of Sponge in some time - it’s coming! We’re looking forward to everyone coming along and having a great time, showing off our progress for Minecraft 1.15.2 and talking about what developers and server owners will be able to do with API 8. We plan to resurrect our Minecon 2016 plugin, Royale, and use it to show off our latest and greatest work.
As always, there will be opportunities to ask the developers questions and to have a bit of fun while they answer. Be sure to stick around after Q&A for the regular @Zidane vs @mumfrey battle, we might have to up the stakes this time!
We will announce the date for SoS XIX soon - keep your eyes peeled for that. In the meantime, we’ve prepared a development visualisation for your viewing pleasure, enjoy!