Giter VIP home page Giter VIP logo

projectred's Introduction

ProjectRed

A Minecraft Forge mod all about Redstone circuity.

MC Version Branch Latest Release Latest Beta Status
1.19.2 main badge badge Active
1.18.2 main/1.18 badge badge Maintenance
1.16.5 main/1.16 badge badge End-of-Life
1.15.2 main/1.15 N/A badge End-of-Life

Development Environment Setup

Project Red uses a standard Forge Gradle environment. Setup steps should be the same as most other mods. Instructions below are for Intellij IDEA, but the process is very similar for both Eclipse and VSCode. See Forge Gradle docs for more info.

  1. Create a new folder and check out the repository:

    mkdir ~/projectred && cd ~/projectred
    git checkout https://github.com/MrTJP/ProjectRed.git .
    
  2. Build the project:

    ./gradlew build
    
  3. Generate run configurations:

    ./gradlew genIntellijRuns
    
  4. Open the project directory in Intellij IDEA and give it a few minutes to set up and index the Gradle project.

Building Locally

You can re-build jar files locally by running ./gradlew build. The jars can be found in ./<module>/build/libs.

ProjectRed API

Setup

ProjectRed API can be consumed by your ForgeGradle project by adding the following to your build.gradle:

// Add repository
repositories {
    maven { url = "https://proxy-maven.covers1624.net/" }
}

// Add dependency (replace ${mc_version} and ${pr_version} with the desired versions)
dependencies {
    /* minecraft dependency is here */
    
    // compile against the API but do not include it at runtime
    compileOnly fg.deobf("mrtjp:ProjectRed-${mc_version}:${pr_version}:api")
    
    // at runtime, use the full mod jars of the required modules
    runtimeOnly fg.deobf("mrtjp:ProjectRed-${mc_version}:${pr_version}:core")
    runtimeOnly fg.deobf("mrtjp:ProjectRed-${mc_version}:${pr_version}:integration")
    runtimeOnly fg.deobf("mrtjp:ProjectRed-${mc_version}:${pr_version}:transmission")
    // etc...
}

Usage

The primary entrypoint into the API is mrtjp.projectred.api.ProjectRedAPI where you will find static fields for each module of ProjectRed. If a module is installed, its corresponding field will be a non-null implementor of that module's API. See the javadocs for more information.

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.