Bigger, upgradable chests for Minecraft, on Fabric and NeoForge. This repo holds two mods: Iron Chests (the chests) and Iron Core Utilities (the shared library).
| Mod | Loaders | Requires |
|---|---|---|
| Iron Chests | Fabric, NeoForge | Iron Core Utilities (+ Fabric API on Fabric) |
| Iron Core Utilities | Fabric, NeoForge | Loader API only |
Install both jars. Iron Chests will not run without Iron Core Utilities.
- Iron Chests: Modrinth / CurseForge (mod id
ironchest) - Iron Core Utilities: Modrinth / CurseForge (mod id
ironcore)
Supports Minecraft 26.x and requires Java 25. See each mod's README for details.
Maintained by GatherToCraft, a team-finder portal that matches Minecraft players by playstyle, edition, schedule, and modpacks.
Store-page copy lives in docs/store/.
Layout:
iron-chests/common loader-agnostic content (blocks, items, menus)
iron-chests/fabric Iron Chests for Fabric
iron-chests/neoforge Iron Chests for NeoForge
iron-chests/resources assets + data shared by both loaders
iron-core/common shared library (tiers, menus, registries)
iron-core/fabric Iron Core Utilities for Fabric
iron-core/neoforge Iron Core Utilities for NeoForge
Requires nix with flakes enabled and devenv.
# optional, for auto-activation on cd:
# once per machine: devenv direnvrc >> ~/.config/direnv/direnvrc
direnv allow
# or without direnv:
devenv shellThen build/test with:
./gradlew build
./gradlew checkdevenv test runs the build as well.
devenv.nix puts the native libs Minecraft needs (GLFW/OpenGL via
libGL, X11/Wayland, OpenAL/audio, udev) on LD_LIBRARY_PATH, so the
game launches from any devenv shell:
./gradlew :iron-chests:fabric:26.3:runClient # or: run-client
./gradlew :iron-chests:neoforge:26.3:runClient # or: run-client-neoforge
./gradlew :iron-chests:fabric:26.3:runServer # or: run-server
./gradlew :iron-chests:neoforge:26.3:runServer # or: run-server-neoforgeThe run-* scripts default to the active version; pass --version for
another one: run-client --version 26.1.
Stonecutter builds every supported
Minecraft version (26.1, 26.2, 26.3) from one branch:
./gradlew build compiles all versions, and CI does the same in detached
mode. Per-version dependencies live in gradle.properties as mc.<version>.*.
# work on a version: shared sources switch to its state (one target per run)
./gradlew iron-chests:stonecutterSwitchTo26.1 iron-core:stonecutterSwitchTo26.1Version differences use /*? if >=<version> */ conditions in sources (block
comments only: the formatter rewrites //?) and replacements in
iron-chests/stonecutter.gradle / iron-core/stonecutter.gradle. Two
rules: a replacement's target string must not occur in authored sources
(breaks switching back), and never edit anything under
*/versions/*/build/generated/.
- Java and nix sources are formatted (
google-java-format,nixfmt) - Commit messages follow Conventional Commits
- Small, auditable commits. Please do not submit large PRs with massive commits, as they are hard to audit and review.
All enforced by git hooks, installed automatically with the shell
(see git-hooks in devenv.nix).
TechnoVision: Initial port of Iron Chests to Fabric
foul-fortune-feline: Fix Wooden Upgrades, added upgrades from-to any chest tier
FakeDomi: Fix incompatibility with FastChests
ARES: Korean Translation
yichifauzi: Chinese Translation
XenoshiYT: German Translation
Iron Chests is licensed under GPL-3.0, see LICENSE.





