Skip to content
A Forge mod that implements SpongeAPI
Branch: stable-7
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github nuke .github/move.yml Aug 10, 2018
SpongeCommon @ ea8bafb
gradle/wrapper Bump Gradle to 3.4.1 Nov 1, 2018
scripts Attempt to fetch submodules from forks when building pull requests Apr 10, 2017
src/main
testmods Don't sync ServerChatEvent to Sponge event if the message has not cha… Feb 26, 2019
.gitattributes Unify Forge and Vanilla implementation. Closes #245. Apr 21, 2015
.gitignore
.gitmodules
.travis.yml Attempt to fetch submodules from forks when building pull requests Apr 10, 2017
Jenkinsfile So end of files cannot be indented... Jenkinsfile is surely interesting. Oct 10, 2018
LICENSE.txt
README.md
build.gradle Properly fix forge dependency and retain proper artifact version iden… Feb 16, 2019
changelog.gradle Update Forge's jenkins in changelog. Jun 12, 2018
extraSrg.srg More compile fixes for 1.9. Several todos added. May 5, 2016
gradle.properties
gradlew
gradlew.bat
settings.gradle Start adding testmods as a module. This should not be breaking, and i… Apr 25, 2018

README.md

SpongeForge Build Status

Currently not stable and under heavy development!

A Forge implementation of the Sponge API.

Prerequisites

Cloning

The following steps will ensure your project is cloned properly.

  1. git clone --recursive https://github.com/SpongePowered/SpongeForge.git
  2. cd SpongeForge
  3. cp scripts/pre-commit .git/hooks

Setup

Note: SpongeForge 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 SpongeForge, you must first prepare the environment:

  • Run ./gradlew setupDecompWorkspace --refresh-dependencies

IDE Setup

For Eclipse

  1. Run ./gradlew eclipse
  2. Import Sponge as an existing project (File > Import > General)
  3. Select the root folder for SpongeForge and make sure Search for nested projects is enabled
  4. Check Sponge 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 SpongeForge.
  3. Make sure Use default gradle wrapper is selected. Older/newer Gradle versions may work but we only test using the wrapper.

Running

Note: The following is aimed to help you setup run configurations for Eclipse and IntelliJ, if you do not want to be able to run SpongeForge directly from your IDE then you can skip this.

For Eclipse

  1. Running ./gradlew eclipse should have generated the run configurations automatically.
  2. When launching the server for the first time, it will shutdown by itself. You will need to modify eula.txt to set eula=true (this means you agree to the Mojang EULA, if you do not wish to do this then you cannot run the server).

For IntelliJ

  1. Run ./gradlew genIntelliJRuns
  2. Restart IntelliJ IDEA or reload the project, the run configuration should now be generated.
  3. When launching the server for the first time, it will shutdown by itself. You will need to modify eula.txt to set eula=true (this means you agree to the Mojang EULA, if you do not wish to do this then you cannot run the server).

Building

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

In order to build SpongeForge 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 but in most cases you'll only need 'spongeforge-x.x.x-x-x.x-x.jar'.

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

FAQ

A dependency was added, but my IDE is missing it! How do I add it?

If a new dependency was added, you can just restart your IDE and the Gradle plugin for that IDE should pull in the new dependencies.

Contributing

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.

Help! Things are not working!

Some issues can be resolved by deleting the '.gradle' folder in your user directory and running through the setup steps again, or even running gradle cleanCache and running through the setup again. Otherwise if you are having trouble with something that the README does not cover, feel free to join our IRC channel and ask for assistance.

You can’t perform that action at this time.