From 7fda804d7c8bf56abf38f3ce805f496ec10f38f2 Mon Sep 17 00:00:00 2001 From: creepereater201 Date: Sun, 26 Jul 2026 17:21:33 +0200 Subject: [PATCH] feat: gravel ocean bed depth (#111) see Nostalgica-Reverie/moderner-beta#97 Reviewed-on: https://codeberg.org/Nostalgica-Reverie/moderner-beta/pulls/111 --- .../ModernBetaClientBuiltInProviders.java | 3 ++- .../chunk/provider/ChunkProviderNoise3D.java | 4 +++- .../settings/component/SurfaceProperties.java | 21 ++++++++++++------- .../assets/moderner_beta/lang/en_us.json | 1 + 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/mod/bluestaggo/modernerbeta/client/ModernBetaClientBuiltInProviders.java b/src/main/java/mod/bluestaggo/modernerbeta/client/ModernBetaClientBuiltInProviders.java index bfb035a8..67bb9f85 100644 --- a/src/main/java/mod/bluestaggo/modernerbeta/client/ModernBetaClientBuiltInProviders.java +++ b/src/main/java/mod/bluestaggo/modernerbeta/client/ModernBetaClientBuiltInProviders.java @@ -232,7 +232,8 @@ public class ModernBetaClientBuiltInProviders { screen.booleanOption("generateBeaches"), screen.booleanOption("generateSandstone"), screen.booleanOption("erosion"), - screen.booleanOption("gravelOceanBed") + screen.booleanOption("gravelOceanBed"), + screen.intRangeOption("gravelOceanBedDepth", 0, 64) ); } ); diff --git a/src/main/java/mod/bluestaggo/modernerbeta/level/chunk/provider/ChunkProviderNoise3D.java b/src/main/java/mod/bluestaggo/modernerbeta/level/chunk/provider/ChunkProviderNoise3D.java index c8a23203..c6c246c1 100644 --- a/src/main/java/mod/bluestaggo/modernerbeta/level/chunk/provider/ChunkProviderNoise3D.java +++ b/src/main/java/mod/bluestaggo/modernerbeta/level/chunk/provider/ChunkProviderNoise3D.java @@ -282,7 +282,9 @@ public class ChunkProviderNoise3D extends ChunkProviderForcedHeight { if (y >= seaLevel - 1 || (y < seaLevel - 1 && chunk.getBlockState(pos.above()).isAir())) { blockToSet = topBlock; - } else if (surfaceProperties.gravelOceanBed() && y < seaLevel - 7 - surfaceDepth) { + } else if (surfaceProperties.gravelOceanBed() && + y < seaLevel - surfaceProperties.gravelOceanBedDepth() - surfaceDepth + ) { topBlock = BlockStates.AIR; fillerBlock = BlockStates.STONE; blockToSet = BlockStates.GRAVEL; diff --git a/src/main/java/mod/bluestaggo/modernerbeta/settings/component/SurfaceProperties.java b/src/main/java/mod/bluestaggo/modernerbeta/settings/component/SurfaceProperties.java index 5a524d1d..63eb99e4 100644 --- a/src/main/java/mod/bluestaggo/modernerbeta/settings/component/SurfaceProperties.java +++ b/src/main/java/mod/bluestaggo/modernerbeta/settings/component/SurfaceProperties.java @@ -17,7 +17,8 @@ public record SurfaceProperties( boolean generateBeaches, boolean generateSandstone, boolean erosion, - boolean gravelOceanBed + boolean gravelOceanBed, + int gravelOceanBedDepth ) { public static final Codec CODEC = RecordCodecBuilder.create( instance -> instance.group( @@ -33,7 +34,8 @@ public record SurfaceProperties( Codec.BOOL.fieldOf("generateBeaches").orElse(true).forGetter(SurfaceProperties::generateBeaches), Codec.BOOL.fieldOf("generateSandstone").orElse(true).forGetter(SurfaceProperties::generateSandstone), Codec.BOOL.fieldOf("erosion").orElse(true).forGetter(SurfaceProperties::erosion), - Codec.BOOL.fieldOf("gravelOceanBed").orElse(false).forGetter(SurfaceProperties::gravelOceanBed) + Codec.BOOL.fieldOf("gravelOceanBed").orElse(false).forGetter(SurfaceProperties::gravelOceanBed), + Codec.INT.fieldOf("gravelOceanBedDepth").orElse(7).forGetter(SurfaceProperties::gravelOceanBedDepth) ).apply(instance, SurfaceProperties::new) ); public static final SurfaceProperties DEFAULT = CodecUtil.getDefaultByMap(CODEC); @@ -51,7 +53,8 @@ public record SurfaceProperties( true, false, true, - false + false, + 7 ); public static final SurfaceProperties BETA = new SurfaceProperties( true, @@ -66,7 +69,8 @@ public record SurfaceProperties( true, true, true, - false + false, + 7 ); public static final SurfaceProperties SKYLANDS = new SurfaceProperties( false, @@ -81,7 +85,8 @@ public record SurfaceProperties( false, true, true, - false + false, + 7 ); public static final SurfaceProperties EARLY_RELEASE = new SurfaceProperties( true, @@ -96,7 +101,8 @@ public record SurfaceProperties( false, true, true, - false + false, + 7 ); public static final SurfaceProperties MAJOR_RELEASE = new SurfaceProperties( true, @@ -111,6 +117,7 @@ public record SurfaceProperties( false, true, true, - true + true, + 7 ); } diff --git a/src/main/resources/assets/moderner_beta/lang/en_us.json b/src/main/resources/assets/moderner_beta/lang/en_us.json index 0326c3c0..6880e06f 100644 --- a/src/main/resources/assets/moderner_beta/lang/en_us.json +++ b/src/main/resources/assets/moderner_beta/lang/en_us.json @@ -348,6 +348,7 @@ "createWorld.customize.modern_beta.settings.surface_properties.generateSandstone": "Generate Sandstone", "createWorld.customize.modern_beta.settings.surface_properties.erosion": "Erosion", "createWorld.customize.modern_beta.settings.surface_properties.gravelOceanBed": "Gravel Ocean Bed", + "createWorld.customize.modern_beta.settings.surface_properties.gravelOceanBedDepth": "Gravel Ocean Bed Depth", "createWorld.customize.modern_beta.settings.infdev_227_structures": "Infdev Structures", "createWorld.customize.modern_beta.settings.infdev_227_structures.brickPyramids": "Brick Pyramids", "createWorld.customize.modern_beta.settings.infdev_227_structures.obsidianWalls": "Obsidian Walls", -- knotmirror 0.0.1