This repository is obsolete! Development on modern (1.16+) versions continues in the Sponge repository.
SpongeVanilla is the SpongeAPI implementation for Vanilla Minecraft.
- Homepage
- Source
- Issues
- Documentation
- Community Discord
- Community IRC: #sponge on irc.esper.net
- Development IRC: #spongedev on irc.esper.net
- Preparing for Development
- Java 8
The following steps will ensure your project is cloned properly.
git clone --recursive https://github.com/SpongePowered/SpongeVanilla.git
cd SpongeVanilla
cp scripts/pre-commit .git/hooks
Note: If you accidentally omit --recursive
option when cloning, you may
delete the repository and try again, or you may execute the following to fix the
situation:
git submodule update --init --recursive
Note: SpongeVanilla 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 SpongeVanilla, you must first prepare the environment:
- Run
./gradlew setupDecompWorkspace --refresh-dependencies
For Eclipse
- Run
./gradlew eclipse
- Import SpongeVanilla as an existing project (File > Import > General)
- Select the root folder for SpongeVanilla and make sure
Search for nested projects
is enabled - Check SpongeVanilla when it finishes building and click Finish
For IntelliJ
- Make sure you have the Gradle plugin enabled (File > Settings > Plugins. For macOS users: IntelliJ IDEA > Preferences > Plugins).
- Click File > New > Project from Existing Sources > Gradle and select the root folder for SpongeVanilla.
- Make sure Use default gradle wrapper is selected. Older/newer Gradle versions may work but we only test using the wrapper.
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 SpongeVanilla directly from your IDE then you can skip this.
For Eclipse
- Running
./gradlew eclipse
should have generated the run configurations automatically. - 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
- Run
./gradlew genIntelliJRuns
- Restart IntelliJ IDEA or reload the project, the run configuration should now be generated.
- 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).
Note: You must setup the environment before you can build SpongeVanilla.
In order to build SpongeVanilla 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
. You can find the compiled JAR files in ./build/libs
but in most cases
you'll only need 'spongevanilla-x.x.x-x.x-x.jar'.
The following steps will update your clone with the official repo.
git pull
git submodule update --recursive
./gradlew setupDecompWorkspace --refresh-dependencies
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.
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.