ProjectRed
Redstone Engineering
Install / Use
/learn @MrTJP/ProjectRedREADME
ProjectRed
A Minecraft Forge mod all about Redstone circuity.
Latest Versions
| MC Version | Branch | Latest Release | Latest Beta | Status |
|:----------:|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
| 1.21.1 | 1.21.1 | |
| Active |
| 1.20.4 |
1.20.4 | |
| Active |
| 1.20.1 |
1.20.1 | |
| Active |
| 1.19.2 |
1.19.x | |
| End-of-Life |
| 1.18.2 |
1.18.x | |
| End-of-Life |
| 1.16.5 |
1.16.x | |
| End-of-Life |
| 1.15.2 |
1.15.x | N/A | | End-of-Life |
Links
| Module | Modrinth | CurseForge |
|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Core | |
|
| Expansion |
|
|
| Exploration |
|
|
| Fabrication |
|
|
| Illumination |
|
|
| Integration |
|
|
| Transmission |
|
|
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.
-
Create a new folder and check out the repository:
mkdir ~/projectred && cd ~/projectred git checkout https://github.com/MrTJP/ProjectRed.git . -
Build the project:
./gradlew build -
Generate run configurations:
./gradlew genIntellijRuns -
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.
Contributing Translations
We welcome community translations to make ProjectRed accessible to players worldwide! This section provides guidance for translators who want to contribute language files to the project.
Language File Structure
The English language files are auto-generated. They are located in each module's generated directory:
<module>/src/main/generated/assets/projectred_<module>/lang/en_us.json
Translations should be placed in the resources directory:
<module>/src/main/resources/assets/projectred_<module>/lang/
Getting Started
-
Find the English reference files: English translations are auto-generated and located in:
<module>/src/main/generated/assets/projectred_<module>/lang/en_us.json -
Create your translation file: Add your language file in the
resourcesdirectory:<module>/src/main/resources/assets/projectred_<module>/lang/<your_language>.jsonUse standard Minecraft language codes (e.g.,
de_de.jsonfor German,fr_fr.jsonfor French,es_es.jsonfor Spanish). -
Copy the structure: Start by copying the English file and translating the values while keeping the keys unchanged.
Translation Verification Tool
We provide a Python utility to help ensure your translations are complete and correctly formatted. It is recommended that you use it as it is automatically run on every pull request to ensure translations
