Contributing to Sponge


This documentation refers to an outdated SpongeAPI version and is no longer actively maintained. While the code examples still work for that API version, the policies, guidelines, and some links may have changed. Please refer to the latest version of the documentation for those.

This section shows you how to get involved with Sponge.

What are the projects I can help with?

The Sponge Project and its parts are maintained on GitHub. If you’re unfamiliar with GitHub and the tool git, then take a look at How to Git(Hub) first. A read of our Contribution Guidelines is strongly advised before starting any work. There are several projects we’re currently maintaining:

  • SpongeAPI

  • SpongeForge

  • SpongeVanilla

  • SpongeCommon

  • Mixin

  • SpongeDocs

  • Ore

If you want to know more about the structure of the project and how everything is tied together, head over to The Structure of the Sponge Project.

What kind of help is needed?

Basic contributions

This can be done by almost everyone. You don’t need to know a programming language like Java or Python to:

  • test SpongeForge or SpongeVanilla and report bugs or usage quirks

  • report or suggest any errors, faults or bugs you encounter

  • post suggestions or idea you have which would make Sponge better

Reporting bugs best via our GitHub repositories, suggestions fit onto our forums. Just have a look at our Bug Reporting page for further instructions.

Intermediate Contributions

You should at least have basic knowledge of Java, Python or reST to help out on the following tasks:

The development of the Sponge API, SpongeForge, SpongeVanilla and Ore as well as the SpongeDocs is done in several repositories hosted on GitHub.

Advanced Contributions

And finally these are the most difficult things you can help out with. Advanced knowledge of Java, Minecraft and at least basic knowledge of the Sponge API and its structure is strongly advised before attempting to help out with: