From 24422223f078cd9988453c5caa333fc669b59681 Mon Sep 17 00:00:00 2001 From: Dustin Norberg Date: Tue, 22 Sep 2026 06:20:22 -0400 Subject: [PATCH] Use uniform Overworld skylands generation --- docs/PORTING.md | 7 ++++--- gradle.properties | 2 +- .../net/dnorberg/rivencraft/book/AgeDimensionService.java | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/PORTING.md b/docs/PORTING.md index 2b0c040..6ab3967 100644 --- a/docs/PORTING.md +++ b/docs/PORTING.md @@ -248,9 +248,10 @@ honor the server's loaded data packs. Automated coverage also verifies that a live Age's seed equals its immutable saved definition; Dynamic Dimensions derives both from the Overworld seed and the Age dimension identifier. -Version 0.2.16.12 gives Cave and Island/Skylands Ages Overworld biomes, sky, -weather, lighting, and day/night behavior while retaining their distinct -terrain density: enclosed Nether-shaped caves and End-shaped floating islands. +Version 0.2.16.13 gives Cave and Island/Skylands Ages Overworld biomes, sky, +weather, lighting, and day/night behavior while retaining distinct terrain. +Caves remain enclosed. Skylands use Minecraft's uniform floating-island noise +and Overworld-like surfaces without the End's central dragon island. Version 0.2.14.0 restores the legacy Linking and Descriptive Book artwork for inventory items and gives each book its matching open-book texture when placed diff --git a/gradle.properties b/gradle.properties index 0b65da4..b12b12f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -35,7 +35,7 @@ mod_name=Rivencraft # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=LGPL-3.0-or-later # The mod version. Rivencraft uses the x.y.z.b policy documented in README.md. -mod_version=0.2.16.12 +mod_version=0.2.16.13 immersive_portals_version=6.0.7 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. diff --git a/src/main/java/net/dnorberg/rivencraft/book/AgeDimensionService.java b/src/main/java/net/dnorberg/rivencraft/book/AgeDimensionService.java index 43f40c5..2e16421 100644 --- a/src/main/java/net/dnorberg/rivencraft/book/AgeDimensionService.java +++ b/src/main/java/net/dnorberg/rivencraft/book/AgeDimensionService.java @@ -214,15 +214,15 @@ public final class AgeDimensionService { if (profile.equals(AgeGenerationProfiles.CAVE)) { settingsKey = NoiseGeneratorSettings.NETHER; } else if (profile.equals(AgeGenerationProfiles.ISLAND)) { - settingsKey = NoiseGeneratorSettings.END; + settingsKey = NoiseGeneratorSettings.FLOATING_ISLANDS; } else if (profile.equals(AgeGenerationProfiles.AMPLIFIED)) { settingsKey = NoiseGeneratorSettings.AMPLIFIED; } else { settingsKey = NoiseGeneratorSettings.OVERWORLD; } - // Cave retains enclosed Nether-shaped density and Island/Skylands - // retains floating End-shaped density. All profiles use Overworld - // biomes and the Overworld dimension type for sky and time behavior. + // Cave retains enclosed Nether-shaped density. Island/Skylands uses + // uniform floating-island density without the End's central dragon + // island. Both use Overworld biomes and dimension environment. // random_vanilla is retained as a migration alias for existing Ages. return new NoiseBasedChunkGenerator( MultiNoiseBiomeSource.createFromPreset(