State of Sponge XVIII: Spongie's 5th Birthday Bash


Hi all! We’re putting together the finishing touches for Spongie’s Big Birthday Bash and we’d love to have you along to join us in celebrating 5 years of the Sponge Project. It’s been quite a ride so far and it’s showing no signs of letting up anytime soon.

We’ll have developers talking about their latest works as well as updates on the long march to 1.14 no doubt with some monologues and question sessions thrown in. Now don’t worry, this isn’t just about the team, we’re even more excited to have the chance to have some fun with our awesome community! Our SCS team has been hard at work coming up with some interesting challenges for you (and hopefully our developers) to enjoy.

Join us on the Sponge Community Server ( MC 1.12.2) at 21:00 UTC on the 7th of September and watch it on Twitch.




Ah, I missed it. I wanted to ask during FAQ: when SpongeAPI projects gonna be one-click runnable, instead of the whole process of cloning the SpongeVanilla/SpongeForge repository, manually adding modules to the Project and adding as dependency/reverse dependency (which disappear after every sync), doing a bunch of workarounds to make it work with IDEA (which completely change every three months or so). The whole process makes maintaining project a pure pain, I have to practically re-create my IDEA project and do the whole setup from scratch several times in one year.
SpongeStart was promising, but it sometimes work, and sometimes does not work. Not very reliable.


If you’d like to take a stab at reinventing the wheel, by all means. It’s a product of the complicated nature that is involved in actually starting a game instance of Minecraft with SpongeVanilla/Forge. Does your plugin need to depend on the implementation? If so, well, does your plugin then need to also add AccessTransformers? What about plugin provided mixins? What if your plugin is a forge mod? What about other plugin dependencies? What about mods that have their own set of coremod modifications? How do you get all of that started up?

It gets complicated very quickly to the point where a “one button start” is about as useful if only for plugins that have no dependency complexity involved whatsoever. In this case, SpongeStart should work for what it’s supposed to do, if it isn’t, well, submit a ticket?

I can honestly say after trying to rewire SpongeGradle and updating it for 1.14+, it’s very difficult to get Gradle to communicate well enough to be able to have a “one click start”.

I get the frustrations, it’s no joke how many times I’ve restarted workspaces in the past simply because I didn’t understand how Gradle worked, or how the IDE works in the background. I can honestly say that none of it is easy. It’s a circumstance that I wish we could put some developer time to, but priorities at the moment are driven by the availability of our team’s time. Just remember, the entire team volunteers their time, and we have to make the best with that time.


Just create an empty Java Module and add your dependencies and Sponge to that.
That way it won’t reset every time you sync.



SpongeStart maintainer here.
gabi pretty much nailed it. I updated the plugin to help newcomer develop more easily. It doesn’t help if you have a big project or need to debug sponge/minecraft classes.

Finally, if you have an issue, please open a ticket. I don’t use it anymore since I need to be able to debug sponge/minecraft classes (and I don’t work on plugins that much since I became a sponge dev).


Finally, if you have an issue, please open a ticket.

I don’t exactly remember, but I think there was already an open issue(s) about that at the time(s).