An independent world generation mod where each Y-level (height) is assigned one deterministic block type.
./gradlew :fabric:build
./gradlew :forge:build
./gradlew :neoforge:buildBuild a specific Fabric compatibility target:
scripts/build-fabric-target.sh 1.20.2 1.20.2+build.4 0.15.11 0.91.6+1.20.2Build all three loaders for a target:
scripts/build-all-loaders-target.sh 1.20.2 1.20.2+build.4 0.15.11 0.91.6+1.20.2 48.0.30 20.2.93Build all currently supported targets (all loaders for each active target):
scripts/build-supported-targets.shOutput jars:
fabric/build/libs/Random-Layers-fabric-1.20.2-1.0.0.jarforge/build/libs/Random-Layers-forge-1.20.2-1.0.0.jarneoforge/build/libs/Random-Layers-neoforge-1.20.2-1.0.0.jar
- Module layout:
common: shared code/resources used by all loadersfabric: active Fabric build module (supports active targets indocs/build-targets.toml)forge: Forge build module (supports active targets indocs/build-targets.toml)neoforge: NeoForge build module (supports active targets indocs/build-targets.toml)
- NeoForge is dual-wired:
1.20.1uses legacynet.neoforged:forge, and1.20.2+usesnet.neoforged:neoforge. - Mod id:
randomlayers - Java package namespace:
dev.kolehoenicke.randomlayers - Includes blacklist/forced-block logic and Y-level deterministic layer generation.
- Config file:
config/randomlayers.json - If Mod Menu + Cloth Config are installed, you can edit Random Layers config in-game.
- Per-dimension toggles are available for Overworld, Nether, and End.
- Supported-target build registry:
docs/build-targets.toml(setstatus = "active"to include in full sweep). - Multi-target workflow:
docs/multi-target-release-workflow.md - Compatibility matrix:
docs/compatibility-matrix.mdanddocs/compatibility-matrix.toml - Branch/version policy:
docs/branch-and-version-policy.md - Release smoke checklist:
docs/release-smoke-checklist.md