====================== Contributing to Sponge ====================== .. warning:: 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 :doc:`howtogit` first. A read of our :doc:`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 :doc:`../about/structure`. 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 :doc:`Bug Reporting page <../server/spongineer/bugreport>` for further instructions. Intermediate Contributions ~~~~~~~~~~~~~~~~~~~~~~~~~~ You should at least have basic knowledge of Java, Python or reST to help out on the following tasks: * help fixing bugs * finish the implementation of the API (SpongeForge and SpongeVanilla) * :doc:`help writing the SpongeDocs ` * help `translate the Docs on Crowdin `_ * help out developing Ore 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: * adding functionality to the API (:doc:`implementation/pr`) * implementing advanced API functionality in the implementations Contents ======== .. toctree:: :maxdepth: 2 :titlesonly: guidelines howtogit implementation/index spongedocs porting versioning