Repository navigation
Building
- JDK 21
- Gradle wrapper (included)
./gradlew buildOutput:
build/libs/betterspawn-1.0.0.jar
The project uses NeoForge ModDevGradle. The Gradle toolchain will resolve JDK 21 if the local JDK is missing.
./gradlew runClient
./gradlew runServerThe default game directory is run/.
The project itself can live on any filesystem, but Minecraft region writes can fail on some FUSE/NTFS mounts with:
java.io.IOException: Value too large for defined data type
at RegionFile.write(...)
Use a game directory on a native filesystem (for example btrfs/ext4):
cp -a run /home/<user>/BetterSpawn-run
./gradlew runClient -PgameDir=/home/<user>/BetterSpawn-run-PgameDir applies to both runClient and runServer; the build output stays in the
project directory.
If a copied world still fails on a specific region, back up the world and remove the
affected region file (for example region/r.0.-1.mca). Only that region's chunks are
affected.
The MDK run config includes:
./gradlew runDataThe generated resources go to src/generated/resources.
The GitHub Actions workflow runs ./gradlew build on pushes and pull requests.