Is Sponge a Mod? And how does the Sponge API differ from the Forge API?


#1

Hi All,
I’m trying to understand how things work. Can anyone explain whether Sponge is really a mod itself, patching the original Minecraft by decompiling the original code and adding hooks for the Sponge API? I understand from what I have read about other Minecraft APIs like Forge that updating the APIs to new versions of Minecraft is a hassle. How is Sponge dealing with updates from Mojang?

Also can anyone explain how does the Sponge API differ from the Forge API? I understand that Forge is a bit more powerful as it allows to create new blocks and items but is more client centric whereas Sponge is a great server API.

Thanks for any explanations.

Kind regards,
schefrog


#2

Here’s a good start: The Sponge Documentation, complete with FAQ.

Sponge is available as a Forge mod (SpongeForge), and also as a stand-alone server (SpongeVanilla).


#3

Thanks for your reply. I have read the docs, but I am still curious about how the Sponge API is added into Minecraft. Is the original Minecraft code decompiled for the Sponge API to be included or how is it done?


#4

It’s done using MCP (the Mod Coder Pack), much the same way as Forge is produced. It just inserts the SpongeAPI instead of Forge.

A more detailed explanation could be provided by one of the Sponge developers, if you need.


#5

MCP Decompiles Minecraft and provides a workspace where Mixins can be developed.

It’s the Mixins (https://github.com/SpongePowered/Mixin) inside the SpongeCommon / Sponge(Vanilla/Forge) that implement the API on top / within Minecraft and or Forge at runtime.

Forge is more of a Modding Framework, providing loading functionality for Core mods, as well as providing compatibility changes / patches that allow mods to work together more easily.