Multi core mod workspace for the modpack Create: New Horizon (CTNH).
Module guides are not stored in this repository. They live in CTNH-Docs and are published as the ctnh-docs skill (date-versioned releases).
| Scope | Guide |
|---|---|
| Cross-module architecture contract | ctnh-docs/references/_architecture/AGENTS.md |
| Per module | ctnh-docs/references/<Module>/AGENTS.md |
| Per domain | ctnh-docs/references/<Module>/<domain>/AGENTS.md |
Read the architecture contract before touching machine, trait, recipe capability, or Jade code: it defines state ownership boundaries, @DescSynced/@Persisted rules, Jade data minimization, and the module migration steps. Read the matching module guide before editing that module's source.
Get the guides either from the skill release (ctnh-docs-skill-<date>.zip on the CTNH-Docs releases page) or by fetching a raw file:
https://raw.githubusercontent.com/CTNH-Team/CTNH-Docs/main/ctnh-docs/references/_architecture/AGENTS.md
https://raw.githubusercontent.com/CTNH-Team/CTNH-Docs/main/ctnh-docs/references/<Module>/AGENTS.md
Guide edits belong in the CTNH-Docs repository, not here.
All the core mods are gathered and compiled into single CTNH-Core mod (via jarJar).
$ git clone --recursive https://github.com/CTNH-Team/CTNH-Modules.git Then open the folder with IDEA and check out each submodule's own branch (dev for the CTNH modules, ctnh for GregTech-Modern). Use Java 17; IntelliJ builds need the bundled JetBrains Runtime as the Gradle JVM.
If there is something wrong with submodules, try the following commands to reset and update them (or just clone submodules manually).
$ git submodule deinit --all -f
$ git submodule update --init --recursive
$ git submodule update --remoteTo add new modules, use git to add them under modules, and include them in settings.gradle.
Besides using IDEA, you can also build the mod with Gradle manually:
$ cd CTNH-Modules # And you may need to update the submodules manually
$ ./gradlew :modules:CTNH-Core:build # To build the mod .jar
$ ./gradlew :modules:CTNH-Core:runData # To generate data
$ ./gradlew :modules:CTNH-Core:spotlessCheck # To check code formatting
$ ...Nightly builds are available on the Actions page.
Most submodules use dev as the default branch; GregTech-Modern uses ctnh. The submodules in this repository will not be updated to the latest commit synchronously, so you may need to pull the latest changes manually.
- CTNH-Core: core mod containing other modules, and compatible with GregTech-Modern
- CTNH-Lib: common library for other modules
- CTNH-Bio: biological part, compatible with Biomancy
- CTNH-Energy: applied energistics part, compatible with AE2
- CTNH-Mana: mana(magical) part, compatible with Botania, blood magic, ars nouveau, etc.
- CTNH-Astral: astral part — materials, enchantments, custom worldgen/dimensions, oxygen environment
- CTPP: compatible mod between GregTech-Modern and Create
- Create-Enough-Items: EMI experience integration (sidebar groups, search, recipe-page filters)
- GregTech-Modern: vendored upstream GTCEu on the
ctnhbranch — a dependency and reference, changed only when a task explicitly targets GTCEu internals
This multi-module workspace is setup based on sa-shiro/Minecraft-MultiProject-Template.
Unless otherwise stated, this repository is licensed under the GNU LGPL v3.0 License.
This repository is based on sa-shiro/Minecraft-MultiProject-Template, licensed under MIT. The MIT notice for reused template portions is distributed in the THIRD_PARTY_NOTICES file.
Each git submodule is an independent project with its own license. For exact terms, see the LICENSE file in each submodule repository.