From 1f57ebfffc0cdea10b869537a9cf72a6e131ba0e Mon Sep 17 00:00:00 2001 From: ShaneBeee Date: Tue, 12 May 2026 06:40:19 -0700 Subject: [PATCH 1/2] NoiseBasedChunkGenerator.java.patch - fix hardcoded lava level --- .../NoiseBasedChunkGenerator.java.patch | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch index dfd1c2e4d7be..5a1d245d1adf 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch @@ -1,5 +1,23 @@ --- a/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java +++ b/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java +@@ -67,7 +_,7 @@ + } + + private static Aquifer.FluidPicker createFluidPicker(final NoiseGeneratorSettings settings) { +- Aquifer.FluidStatus lavaStatus = new Aquifer.FluidStatus(-54, Blocks.LAVA.defaultBlockState()); ++ Aquifer.FluidStatus lavaStatus = new Aquifer.FluidStatus(settings.noiseSettings().minY(), Blocks.LAVA.defaultBlockState()); // Fixes MC-237017 (non hardcoded lava level) + int seaLevel = settings.seaLevel(); + Aquifer.FluidStatus seaStatus = new Aquifer.FluidStatus(seaLevel, settings.defaultFluid()); + Aquifer.FluidStatus emptyStatus = new Aquifer.FluidStatus(DimensionType.MIN_Y * 2, Blocks.AIR.defaultBlockState()); +@@ -75,7 +_,7 @@ + if (SharedConstants.DEBUG_DISABLE_FLUID_GENERATION) { + return emptyStatus; + } else { +- return y < Math.min(-54, seaLevel) ? lavaStatus : seaStatus; ++ return y < Math.min(settings.noiseSettings().minY(), seaLevel) ? lavaStatus : seaStatus; // Fixes MC-237017 (non hardcoded lava level) + } + }; + } @@ -266,7 +_,7 @@ @Override public void buildSurface(final WorldGenRegion region, final StructureManager structureManager, final RandomState randomState, final ChunkAccess protoChunk) { From 58e2be299fef969df0a18d48c5484f2feb4a1ea5 Mon Sep 17 00:00:00 2001 From: ShaneBeee Date: Tue, 12 May 2026 06:47:58 -0700 Subject: [PATCH 2/2] NoiseBasedChunkGenerator.java.patch - fix hardcoded lava level - part 2 --- .../world/level/levelgen/NoiseBasedChunkGenerator.java.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch index 5a1d245d1adf..0f7ba0ababea 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java.patch @@ -5,7 +5,7 @@ private static Aquifer.FluidPicker createFluidPicker(final NoiseGeneratorSettings settings) { - Aquifer.FluidStatus lavaStatus = new Aquifer.FluidStatus(-54, Blocks.LAVA.defaultBlockState()); -+ Aquifer.FluidStatus lavaStatus = new Aquifer.FluidStatus(settings.noiseSettings().minY(), Blocks.LAVA.defaultBlockState()); // Fixes MC-237017 (non hardcoded lava level) ++ Aquifer.FluidStatus lavaStatus = new Aquifer.FluidStatus(settings.noiseSettings().minY() + 10, Blocks.LAVA.defaultBlockState()); // Fixes MC-237017 (non hardcoded lava level) int seaLevel = settings.seaLevel(); Aquifer.FluidStatus seaStatus = new Aquifer.FluidStatus(seaLevel, settings.defaultFluid()); Aquifer.FluidStatus emptyStatus = new Aquifer.FluidStatus(DimensionType.MIN_Y * 2, Blocks.AIR.defaultBlockState()); @@ -14,7 +14,7 @@ return emptyStatus; } else { - return y < Math.min(-54, seaLevel) ? lavaStatus : seaStatus; -+ return y < Math.min(settings.noiseSettings().minY(), seaLevel) ? lavaStatus : seaStatus; // Fixes MC-237017 (non hardcoded lava level) ++ return y < Math.min(settings.noiseSettings().minY() + 10, seaLevel) ? lavaStatus : seaStatus; // Fixes MC-237017 (non hardcoded lava level) } }; }