Astromine is a space and technology mod for Minecraft. Build machines, move items, fluids, and energy, process resources, launch rockets, and head into orbit.
This branch targets Minecraft 1.21.1 on NeoForge 21.1.x. Older branches contain the historical Fabric versions.
Please refer to the in-game manual for gameplay documentation.
-
Machines!
Solid Fuel Generators, Fluid Generators, Electric Furnaces, Triturators, Alloy Smelters, Refineries, Electrolyzers, Fluid Mixers, Melters, Solidifiers, Wire Mills, Pressers, and more.
-
Logistics!
Item, fluid, energy, and utility pipes, with sided transfer controls and NeoForge-native item/fluid/energy capability support.
-
Storage!
Tanks, capacitors, buffers, creative variants, fluid filters, and persistent storage behavior.
-
Utilities!
Drills, pumps, block placers, block breakers, machine upgrade kits, and other industrial tools.
-
Space!
Rockets, orbital gameplay, bodies, stations, sky rendering, space slimes, and dimension travel.
-
Tests!
A GameTest suite covers machines, transfer, storage, logistics, and registration sanity.
We've got a lot to offer; so check it out and let us know what you think!
Active development happens on development-1.21.1.
CI builds the mod and runs the GameTest server.
You can find pre-compiled stable binaries on CurseForge and Modrinth.
You can find pre-compiled development binaries in GitHub Actions.
Astromine requires Java 21. The Gradle wrapper is included, so you do not need a local Gradle install.
To build the mod:
./gradlew buildOn Windows:
.\gradlew.bat buildThe resulting .jar files will appear in build/libs.
Client:
./gradlew runClientServer:
./gradlew runServerGameTests:
./gradlew runGameTestServerFull local CI equivalent:
./gradlew build runGameTestServer --stacktrace --no-daemonAstromine keeps generated assets and data in src/generated/resources.
To generate assets and data:
./gradlew runDataCommit generated resource changes when they are intentional.
The GitHub Publish workflow runs on development-1.21.1 and publishes only after a successful build and GameTest run. Maven publishing requires explicit repository configuration.
Publishing uses:
MAVEN_URLMAVEN_USERMAVEN_PASS, from GitHub Actions secrets
Please use the included .editorconfig when committing code.
Before opening a PR, run:
./gradlew build runGameTestServerTo apply license formatting:
./gradlew licenseFormatIf you're submitting a large pull request, especially for machines, logistics, fluids, energy, GUIs, worldgen, rockets, or body systems, please get in touch beforehand so we can make suggestions and make sure it will be accepted.
