Git Product home page Git Product logo

sponge's Introduction

Sponge Build Status

Currently not stable and under heavily development!
A Forge implementation of the Sponge API. It is licensed under the MIT License.

Prerequisites

Clone

The following steps will ensure your project is cloned properly.

  1. git clone [email protected]:SpongePowered/Sponge.git
  2. cd Sponge
  3. git submodule update --init --recursive
  4. cp scripts/pre-commit .git/hooks

Setup

Note: If you do not have Gradle installed then use ./gradlew for Unix systems or Git Bash and gradlew.bat for Windows systems in place of any 'gradle' command.

For Eclipse

  1. Run gradle setupDecompWorkspace --refresh-dependencies
  2. Make sure you have the Gradle plugin installed (Help > Eclipse Marketplace > Gradle Integration Plugin)
  3. Import Sponge as a Gradle project (File > Import)
  4. Select the root folder for Sponge and click Build Model
  5. Check Sponge when it finishes building and click Finish

For IntelliJ

  1. Run gradle setupDecompWorkspace --refresh-dependencies
  2. Make sure you have the Gradle plugin enabled (File > Settings > Plugins).
  3. Click File > Import Module and select the build.gradle file for Sponge.

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 Sponge directly from your IDE then you can skip this.

For Eclipse

  1. Go to Run > Run Configurations.
  2. Right-click Java Application and select New.
  3. Set the current project.
  4. Set the name as Sponge (Client) and apply the information for Client below.
  5. Repeat step 1 through 4, then set the name as Sponge (Server) and apply the information for Server below.
  6. When launching the server for the first time, it will shutdown by itself. You will need to modify the server.properties to set onlinemode=false and modify the 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. Go to Run > Edit Configurations.
  2. Click the green + button and select Application.
  3. Set the name as Sponge (Client) and apply the information for Client below.
  4. Repeat step 2 and set the name as Sponge (Server) and apply the information for Server below.
  5. When launching the server for the first time, it will shutdown by itself. You will need to modify the server.properties to set onlinemode=false and modify the 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).

Client

Property Value
Main class GradleStart
VM options -Djava.library.path="../../build/natives" -Dfml.coreMods.load=org.spongepowered.mod.SpongeCoremod
Working directory ./run/client (Included in project)
Module classpath Sponge (IntelliJ Only)

Server

Property Value
Main class GradleStartServer
VM Options -Dfml.coreMods.load=org.spongepowered.mod.SpongeCoremod
Working directory ./run/server (Included in project)
Module classpath Sponge (IntelliJ Only)

Building

Note: If you do not have Gradle installed then use ./gradlew for Unix systems or Git Bash and gradlew.bat for Windows systems in place of any 'gradle' command.

In order to build Sponge you simply need to run the gradle command. You can find the compiled JAR file in ./build/libs labeled similarly to 'sponge-x.x.x-SNAPSHOT.jar'.

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.

sponge's People

Contributors

abrarsyed avatar ammaraskar avatar cpw avatar ddos avatar elgarl avatar grinch avatar guipsp avatar jacklin213 avatar kitskub avatar kobata avatar nightkr avatar olliestanley avatar progwml6 avatar raphfrk avatar simon816 avatar sk89q avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.