Good news everyone, it’s Spongie’s 7th birthday! As always, we’d like to thank our community for their support over all these years. It’s your enthusiasm and enjoyment of all that’s created here that keeps this project running and we really appreciate that! So with that in mind, let’s dive into the latest status update!
Shoutout: Sponsors and Donators
As we have done before, it’s important to pay homage to those of you who have supported us financially, now or in the past. Thank you! 100% of your donations help keep our infrastructure going!
Our current sponsors, Bisect Hosting, MC Server Hosting, Apex Minecraft Hosting, CreeperHost, JetBrains and YourKit who support us, either financially or with free access to their tools, in our ambition to be the greatest Minecraft plugin platform! Our current sponsors can be found on our home page , along with on our download pages. If you want to sponsor us, you can find out more here.
If you feel like you want to donate a little for our cause (other than your love and gratitude), we do have a Patreon that you can subscribe to. If you’d rather not subscribe but would like to donate via PayPal, you can send donations to [email protected]
. And if you can’t donate, don’t worry! You can help us by testing builds, giving feedback, or just providing encouragement when we talk about stuff in our Discord channels!
Sponge Platform Updates
API-8
As you know, we’ve enacted a policy of “Soft Freeze” to API-8, though we have continued to make targetted changes to the API. Each change has been made for one of these reasons:
- Improve naming: some methods were named odd things and gave a different impression to that what they actually did
- Implementation problems: some APIs that were proposed turned out to be pretty much unimplementable in the form they are in. An example of this is the UserManager, changing the return types to be
CompletableFuture
s so that we can perform IO off the server thread. By allowing ourselves to change things where we need to, we can create a better server platform for everyone, and in some cases, improve performance! - User feedback: some changes have been made in response to plugin developer feedback, though this window is closing - now is the time to say something if you think something should be changed.
- SpongeForge: there are some things that we’ve had to change so that SpongeForge can exist - though this is mainly on plugin loading.
- (Upcoming) Resource Packs replacing the Asset Manager for a more flexible way to provide your plugin resources
-
Changes to the plugin metadata file
plugins.json
(nowsponge-plugins.json
) to better support our SpongeForge implementation - more on that in just a moment
We really don’t expect much more to change now, though there may be a couple of changes that may need to be made to support SpongeForge.
Changes to our Metadata File Format
If you’ve been keeping up with the latest builds, you’ll know that all your API-8 plugins broke. We updated our Sponge plugin metadata format to look something like this:
{
"loader": {
"name": "java_plain",
"version": "1.0"
},
"license": "MIT",
"mappings": "1:2:3",
"plugins": [
{
"id": "test",
"entrypoint": "org.example.Example",
"name": "Test",
"description": "Just testing things...",
"version": "1.0.0",
"branding": {
"logo": "images/example_logo.png",
"icon": "images/example_icon.png"
},
"links": {
"homepage": "https://example_homepage.com",
"source": "https://example_source.com",
"issues": "https://example_issues.com"
},
"contributors": [
{
"name": "Testy Tester",
"description": "Lead Developer"
}
],
"dependencies": [
{
"id": "test",
"version": "0.1.0",
"load-order": "before",
"optional": false
}
],
"properties": {
"banana": "man"
}
}
]
}
We have done this so that we can properly support mods in SpongeForge, which have a metadata file close in format to what we now have. Plugin developers will need to update their plugins targetting API-8 to follow this format - if you use SpongeGradle, update to SpongeGradle 2.0 and use our plugin template repo as a guide on how to update your buildscripts. Note that main-class
is now entrypoint
.
Ore has been updated to accept the new metadata format. Please note that plugins that use the “old” plugins.json
metadata format can no-longer be uploaded.
API-9
In order to get API-8 ready, we’ve not spent much time on API-9. However, all work performed on API-8 directly feeds into API-9 and 1.17.1.
There is one important difference that plugin developers should be aware of, API-9 targets Java 16, in line with Minecraft 1.17.1. However in the vast majority of cases, your API-8 plugins that target earlier versions of Java should work without issue on API-9 (and on that note, we expect significant backwards compatibility with future versions of the API too).
SpongeForge for 1.16.5
Something we know a lot of you have been waiting for, development on SpongeForge has begun and thanks to a herculean effort from Zidane and zml, we have SpongeForge running in development and production environments!
While this is cause for cheer, do note that we are still in the early phases of development here - though we do have highly experimental builds we know that they don’t work with some popular mods - if you try running SpongeForge for 1.16.5 and find things break, please let us know. We expect stable builds to be some way off, but we hope that you’re excited for the progress we are making here.
SpongeVanilla for 1.16.5
With that said, we want to share what we believe will happen with SpongeVanilla for 1.16.5. It is our expectation to release “reference builds” of SpongeVanilla for 1.16.5 that is primarily targetted at plugin developers to test plugins against in anticipation for SpongeForge.
While anyone can use them and we plan to make sure they are stable, our focus for SpongeVanilla once API-8 is released will be on SpongeVanilla for Minecraft 1.17.1, as that is the latest vanilla version. We do not expect to release recommended builds for SpongeVanilla on 1.16.5.
Regardless, to support our SpongeForge work and in recognition of the fact that API-8 is yet to be released, 1.16.5 does remain our focus for now. If you are testing and using SpongeVanilla 1.16.5, please continue to give us feedback.
SpongeVanilla for 1.17.1
With the above said, our focus has not been on this build. We expect to move to updating 1.17.1 builds once we have stabilised API-8 and produced a reference build for 1.16.5. However, once this is the case we expect to produce stable builds for 1.17.1 somewhat quickly. We DO expect to release recommended builds for Minecraft 1.17.1. Our ultimate target for SpongeVanilla is to target the latest version.
Experimental Build Downloads
So, with that all now said, we’re not yet ready to declare stable 1.16.5 and 1.17.1 releases. But, don’t despair, as we do have experimental builds available for both SpongeVanilla and SpongeForge. As always, when using experimental builds please regularly backup your saves and be prepared to encouter bugs as these builds are not intended for production use.
While we are still waiting for SystemOfADownload to become operational (we’re nearly there, we’re just preparing the front end now), select the platform you wish to download from below, click on the latest build and download the universal jar:
SpongeForge 1.16.5 Experimental Downloads
SpongeVanilla 1.16.5 Experimental Downloads
SpongeVanilla 1.17.1 Experimental Downloads
We know that you’re all waiting for stable 1.16.5 and 1.17.1 builds and we hope that the uptick in the status updates regarding the project have been useful to understand what’s going on. If you’d like to take a look at the last 7 years of development check out our latest visualisation:
And Finally: End of Life Notice: API-7 and Minecraft 1.12.2
Most of you will have noticed that our recent support for Minecraft 1.12.2 and API-7 has been patchy at best. The time is coming for us to drop all support for our old versions of Sponge!
Right now, our policy is that the core team will fix critical issues that occur and will encourage and review pull requests from the community, particularly for SpongeForge. Unfortunately, we have not got the developer manpower to spend much time on 1.12.2 - all of us have shifted our focus to modern Minecraft and, truth be told, the 1.12.2 codebases are significantly different to what we have now. To diagnose some issues on 1.12.2 builds will take valuable time away from 1.16.5+, which we really want to see stabilise soon.
Our intention is to release an API 7.4 and recommended build 7.4.0 once our download pages are back up and running to act as a roll up release of all the changes since 7.3, most of which are provided by the community. Once those are released, there will be no more official releases of Sponge for API-7 and Minecraft 1.12.2.
Finally, we will end all support entirely once we have usable builds for SpongeForge 1.16.5, and we will make a separate announcement when that happens.