Shared code between SpongeForge and SpongeVanilla
Switch branches/tags
Clone or download
gabizou Bump Sponge version towards next recommended build.
Signed-off-by: Gabriel Harris-Rouquette <>
Latest commit 01f16c7 Oct 19, 2018
Failed to load latest commit information.
.github nuke .github/move.yml Aug 10, 2018
SpongeAPI @ ff990df Bump API for API v7.1.0 release dependency. Sep 7, 2018
gradle Add a PluginContainer for SpongeCommon using the id 'sponge'. Migrate… Oct 10, 2018
scripts Attempt to fetch submodules from forks when building pull requests Apr 10, 2017
src Remove debugging logging for internal plugins. Oct 19, 2018
testplugins Fix move entity event not firing because previous positions being cha… Oct 10, 2018
.gitattributes Initial Commit for unified project Apr 20, 2015
.gitignore Implement per-player world borders (#1260) Jun 12, 2017
.gitmodules Set SpongeAPI submodule branch for convenience Dec 4, 2016
.travis.yml Attempt to fetch submodules from forks when building pull requests Apr 10, 2017
Jenkinsfile Add Jenkinsfile Aug 10, 2018
LICENSE.txt Include our copyright statement in license.txt Jun 30, 2015 Correct recommendation regarding use of local Gradle installation vs … May 11, 2017
api-revision.gradle Catch errors when resolving API revision without git on the PATH Apr 3, 2017
build.gradle Add a PluginContainer for SpongeCommon using the id 'sponge'. Migrate… Oct 10, 2018
checkstyle-suppressions.xml Clean up registry package. Dec 18, 2015 Bump Sponge version towards next recommended build. Oct 19, 2018
gradlew Update Gradle wrapper to 3.2.1 Nov 29, 2016
gradlew.bat Revert "Revert "Update Gradle wrapper to 3.1"" Oct 1, 2016
settings.gradle Add TestPlugins project into common for in-development only testing a… Jun 27, 2017

SpongeCommon Build Status

Currently not stable and under heavy development!

Common code for official SpongeAPI implementations. It is licensed under the MIT License.



The following steps will ensure your project is cloned properly.

  1. git clone --recursive
  2. cd SpongeCommon
  3. cp scripts/pre-commit .git/hooks


Note: SpongeCommon uses Gradle as its build system. The repo includes the Gradle wrapper that will automatically download the correct Gradle version. Local installations of Gradle may work but are untested. To execute the Gradle wrapper, run the ./gradlew script on Unix systems or only gradlew on Windows systems.

Before you are able to build SpongeCommon, you must first prepare the environment:

  • Run ./gradlew setupDecompWorkspace --refresh-dependencies

IDE Setup

For Eclipse

  1. Run ./gradlew eclipse
  2. Import SpongeCommon as an existing project (File > Import > General)
  3. Select the root folder for SpongeCommon and make sure Search for nested projects is enabled
  4. Check SpongeCommon when it finishes building and click Finish

For IntelliJ

  1. Make sure you have the Gradle plugin enabled (File > Settings > Plugins).
  2. Click File > New > Project from Existing Sources > Gradle and select the root folder for SpongeCommon.
  3. Make sure Use default gradle wrapper is selected. Older/newer Gradle versions may work but we only test using the wrapper.


Note: You must Setup the environment before you can build SpongeCommon.

In order to build SpongeCommon you simply need to run the gradlew command. On Windows systems you should run gradlew instead of ./gradlew to invoke the Gradle wrapper. You can find the compiled JAR files in ./build/libs.

Updating your Clone

The following steps will update your clone with the official repo.

  1. git pull
  2. git submodule update --recursive
  3. ./gradlew setupDecompWorkspace --refresh-dependencies


Are you a talented programmer looking to contribute some code? We'd love the help!

  • Open a pull request with your changes, following our guidelines.
  • Please follow the above guidelines for your pull request(s) to be accepted.