Preserve cave and skylands terrain with Overworld environments
Build / build (push) Canceled after 0s

This commit is contained in:
dnorberg committed 2026-09-22 06:15:04 -04:00
1 parent 0182684231
commit 4f9b769815
3 files changed
+17 -10

No files matched your search

+3 -3
View File
@@ -248,9 +248,9 @@ honor the server's loaded data packs. Automated coverage also verifies that a
live Age's seed equals its immutable saved definition; Dynamic Dimensions live Age's seed equals its immutable saved definition; Dynamic Dimensions
derives both from the Overworld seed and the Age dimension identifier. derives both from the Overworld seed and the Age dimension identifier.
Version 0.2.16.11 moves Cave and Island/Skylands Ages onto the standard Version 0.2.16.12 gives Cave and Island/Skylands Ages Overworld biomes, sky,
Overworld biome, terrain, surface, structure, and feature pipeline. They no weather, lighting, and day/night behavior while retaining their distinct
longer inherit Nether or End generation and dimension behavior. terrain density: enclosed Nether-shaped caves and End-shaped floating islands.
Version 0.2.14.0 restores the legacy Linking and Descriptive Book artwork for 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 inventory items and gives each book its matching open-book texture when placed
+1 -1
View File
@@ -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. # 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 mod_license=LGPL-3.0-or-later
# The mod version. Rivencraft uses the x.y.z.b policy documented in README.md. # The mod version. Rivencraft uses the x.y.z.b policy documented in README.md.
mod_version=0.2.16.11 mod_version=0.2.16.12
immersive_portals_version=6.0.7 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. # 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. # This should match the base package used for the mod sources.
@@ -210,12 +210,19 @@ public final class AgeDimensionService {
var biomeParameters = server.registryAccess() var biomeParameters = server.registryAccess()
.lookupOrThrow(Registries.MULTI_NOISE_BIOME_SOURCE_PARAMETER_LIST); .lookupOrThrow(Registries.MULTI_NOISE_BIOME_SOURCE_PARAMETER_LIST);
var noiseSettings = server.registryAccess().lookupOrThrow(Registries.NOISE_SETTINGS); var noiseSettings = server.registryAccess().lookupOrThrow(Registries.NOISE_SETTINGS);
ResourceKey<NoiseGeneratorSettings> settingsKey = profile.equals(AgeGenerationProfiles.AMPLIFIED) ResourceKey<NoiseGeneratorSettings> settingsKey;
? NoiseGeneratorSettings.AMPLIFIED if (profile.equals(AgeGenerationProfiles.CAVE)) {
: NoiseGeneratorSettings.OVERWORLD; settingsKey = NoiseGeneratorSettings.NETHER;
// Cave and Island/Skylands currently describe an Age's theme. Their } else if (profile.equals(AgeGenerationProfiles.ISLAND)) {
// terrain, biomes, surfaces, structures, and features use the standard settingsKey = NoiseGeneratorSettings.END;
// Overworld pipeline until their dedicated terrain modifiers land. } 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.
// random_vanilla is retained as a migration alias for existing Ages. // random_vanilla is retained as a migration alias for existing Ages.
return new NoiseBasedChunkGenerator( return new NoiseBasedChunkGenerator(
MultiNoiseBiomeSource.createFromPreset( MultiNoiseBiomeSource.createFromPreset(