diff --git a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderAlpha.java b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderAlpha.java index 9cbd1544..c9f2e587 100644 --- a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderAlpha.java +++ b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderAlpha.java @@ -218,6 +218,7 @@ public class ChunkProviderAlpha extends ChunkProviderNoise { for (int localZ = 0; localZ < 16; localZ++) { for (int localX = 0; localX < 16; localX++) { + pos.set(localX, 0, localZ); int x = startX + localX; int z = startZ + localZ; int surfaceTopY = chunk.getHeightmap(Heightmap.Type.OCEAN_FLOOR_WG).get(localX, localZ) - 1; @@ -232,7 +233,7 @@ public class ChunkProviderAlpha extends ChunkProviderNoise { if (surfaceDepth <= 0) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, y < this.seaLevel ? BlockStates.WATER : BlockStates.AIR, false); pos.setY(--y); @@ -245,7 +246,7 @@ public class ChunkProviderAlpha extends ChunkProviderNoise { SurfaceBlocks beach = genSandBeach ? surfaceConfig.beachSand() : genGravelBeach ? surfaceConfig.beachGravel() : null; if (beach != null) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); if (beach.topBlock().isAir() && y < this.seaLevel) { chunk.setBlockState(pos, BlockStates.WATER, false); } else { @@ -260,6 +261,13 @@ public class ChunkProviderAlpha extends ChunkProviderNoise { } } } + + for (int y = this.bedrockFloor; y < this.bedrockFloor + 5; y++) { + if (y <= this.bedrockFloor + this.random.nextInt(5)) { + pos.setY(y); + chunk.setBlockState(pos, BlockStates.BEDROCK, false); + } + } } } } diff --git a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderBeta.java b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderBeta.java index dce436c5..80e5d29d 100644 --- a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderBeta.java +++ b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderBeta.java @@ -242,6 +242,7 @@ public class ChunkProviderBeta extends ChunkProviderNoise { for (int localZ = 0; localZ < 16; localZ++) { for (int localX = 0; localX < 16; localX++) { + pos.set(localX, 0, localZ); int x = startX + localX; int z = startZ + localZ; int surfaceTopY = chunk.getHeightmap(Heightmap.Type.OCEAN_FLOOR_WG).get(localX, localZ) - 1; @@ -256,7 +257,7 @@ public class ChunkProviderBeta extends ChunkProviderNoise { if (surfaceDepth <= 0) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, y < this.seaLevel ? BlockStates.WATER : BlockStates.AIR, false); pos.setY(--y); @@ -269,7 +270,7 @@ public class ChunkProviderBeta extends ChunkProviderNoise { SurfaceBlocks beach = genSandBeach ? surfaceConfig.beachSand() : genGravelBeach ? surfaceConfig.beachGravel() : null; if (beach != null) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); if (beach.topBlock().isAir() && y < this.seaLevel) { chunk.setBlockState(pos, BlockStates.WATER, false); } else { @@ -284,6 +285,13 @@ public class ChunkProviderBeta extends ChunkProviderNoise { } } } + + for (int y = this.bedrockFloor; y < this.bedrockFloor + 5; y++) { + if (y <= this.bedrockFloor + this.random.nextInt(5)) { + pos.setY(y); + chunk.setBlockState(pos, BlockStates.BEDROCK, false); + } + } } } } diff --git a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderEarlyRelease.java b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderEarlyRelease.java index 93aabe35..5a73ed70 100644 --- a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderEarlyRelease.java +++ b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderEarlyRelease.java @@ -194,12 +194,13 @@ public class ChunkProviderEarlyRelease extends ChunkProviderForcedHeight { for (int localZ = 0; localZ < 16; localZ++) { for (int localX = 0; localX < 16; localX++) { + pos.set(localX, 0, localZ); int surfaceTopY = chunk.getHeightmap(Heightmap.Type.OCEAN_FLOOR_WG).get(localX, localZ) - 1; int surfaceDepth = (int) (surfaceNoise[localZ + localX * 16] / 3D + 3D + rand.nextDouble() * 0.25D); if (surfaceDepth <= 0) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, y < this.seaLevel ? BlockStates.WATER : BlockStates.AIR, false); pos.setY(--y); @@ -209,6 +210,13 @@ public class ChunkProviderEarlyRelease extends ChunkProviderForcedHeight { pos.setY(--y); } } + + for (int y = this.bedrockFloor; y < this.bedrockFloor + 5; y++) { + if (y <= this.bedrockFloor + this.random.nextInt(5)) { + pos.setY(y); + chunk.setBlockState(pos, BlockStates.BEDROCK, false); + } + } } } } diff --git a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev415.java b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev415.java index 347a5167..968873f8 100644 --- a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev415.java +++ b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev415.java @@ -190,6 +190,8 @@ public class ChunkProviderInfdev415 extends ChunkProviderNoise { for (int localZ = 0; localZ < 16; localZ++) { for (int localX = 0; localX < 16; localX++) { + pos.set(localX, 0, localZ); + int x = startX + localX; int z = startZ + localZ; int surfaceTopY = chunk.getHeightmap(Heightmap.Type.OCEAN_FLOOR_WG).get(localX, localZ) - 1; @@ -217,7 +219,7 @@ public class ChunkProviderInfdev415 extends ChunkProviderNoise { if (surfaceDepth <= 0) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, y < this.seaLevel ? BlockStates.WATER : BlockStates.AIR, false); pos.setY(--y); @@ -230,7 +232,7 @@ public class ChunkProviderInfdev415 extends ChunkProviderNoise { SurfaceBlocks beach = genSandBeach ? surfaceConfig.beachSand() : genGravelBeach ? surfaceConfig.beachGravel() : null; if (beach != null) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); if (beach.topBlock().isAir() && y < this.seaLevel) { chunk.setBlockState(pos, BlockStates.WATER, false); } else { @@ -245,6 +247,13 @@ public class ChunkProviderInfdev415 extends ChunkProviderNoise { } } } + + for (int y = this.bedrockFloor; y < this.bedrockFloor + 5; y++) { + if (y <= this.bedrockFloor + this.random.nextInt(5)) { + pos.setY(y); + chunk.setBlockState(pos, BlockStates.BEDROCK, false); + } + } } } } diff --git a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev420.java b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev420.java index f48b2a24..e579e33d 100644 --- a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev420.java +++ b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev420.java @@ -187,6 +187,7 @@ public class ChunkProviderInfdev420 extends ChunkProviderNoise { for (int localZ = 0; localZ < 16; localZ++) { for (int localX = 0; localX < 16; localX++) { + pos.set(localX, 0, localZ); int x = startX + localX; int z = startZ + localZ; int surfaceTopY = chunk.getHeightmap(Heightmap.Type.OCEAN_FLOOR_WG).get(localX, localZ) - 1; @@ -214,7 +215,7 @@ public class ChunkProviderInfdev420 extends ChunkProviderNoise { if (surfaceDepth <= 0) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, y < this.seaLevel ? BlockStates.WATER : BlockStates.AIR, false); pos.setY(--y); @@ -227,7 +228,7 @@ public class ChunkProviderInfdev420 extends ChunkProviderNoise { SurfaceBlocks beach = genSandBeach ? surfaceConfig.beachSand() : genGravelBeach ? surfaceConfig.beachGravel() : null; if (beach != null) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); if (beach.topBlock().isAir() && y < this.seaLevel) { chunk.setBlockState(pos, BlockStates.WATER, false); } else { @@ -242,6 +243,13 @@ public class ChunkProviderInfdev420 extends ChunkProviderNoise { } } } + + for (int y = this.bedrockFloor; y < this.bedrockFloor + 5; y++) { + if (y <= this.bedrockFloor + this.random.nextInt(5)) { + pos.setY(y); + chunk.setBlockState(pos, BlockStates.BEDROCK, false); + } + } } } } diff --git a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev611.java b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev611.java index a5d1a9d8..bd82fa29 100644 --- a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev611.java +++ b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderInfdev611.java @@ -189,6 +189,7 @@ public class ChunkProviderInfdev611 extends ChunkProviderNoise { for (int localZ = 0; localZ < 16; localZ++) { for (int localX = 0; localX < 16; localX++) { + pos.set(localX, 0, localZ); int x = startX + localX; int z = startZ + localZ; int surfaceTopY = chunk.getHeightmap(Heightmap.Type.OCEAN_FLOOR_WG).get(localX, localZ) - 1; @@ -216,7 +217,7 @@ public class ChunkProviderInfdev611 extends ChunkProviderNoise { if (surfaceDepth <= 0) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, y < this.seaLevel ? BlockStates.WATER : BlockStates.AIR, false); pos.setY(--y); @@ -229,7 +230,7 @@ public class ChunkProviderInfdev611 extends ChunkProviderNoise { SurfaceBlocks beach = genSandBeach ? surfaceConfig.beachSand() : genGravelBeach ? surfaceConfig.beachGravel() : null; if (beach != null) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); if (beach.topBlock().isAir() && y < this.seaLevel) { chunk.setBlockState(pos, BlockStates.WATER, false); } else { @@ -244,6 +245,13 @@ public class ChunkProviderInfdev611 extends ChunkProviderNoise { } } } + + for (int y = this.bedrockFloor; y < this.bedrockFloor + 5; y++) { + if (y <= this.bedrockFloor + this.random.nextInt(5)) { + pos.setY(y); + chunk.setBlockState(pos, BlockStates.BEDROCK, false); + } + } } } } diff --git a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderMajorRelease.java b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderMajorRelease.java index f2106630..5bf1cce5 100644 --- a/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderMajorRelease.java +++ b/src/main/java/mod/bespectacled/modernbeta/world/chunk/provider/ChunkProviderMajorRelease.java @@ -64,6 +64,7 @@ public class ChunkProviderMajorRelease extends ChunkProviderForcedHeight { for (int localZ = 0; localZ < 16; localZ++) { for (int localX = 0; localX < 16; localX++) { + pos.set(localX, 0, localZ); int surfaceTopY = chunk.getHeightmap(Heightmap.Type.OCEAN_FLOOR_WG).get(localX, localZ) - 1; int surfaceDepth = (int) (this.surfaceOctaveNoise.sample((chunkX * 16 + localX) * scale * 2D, (chunkZ * 16 + localZ) * scale * 2D, 1.5D, 1.0D) @@ -71,7 +72,7 @@ public class ChunkProviderMajorRelease extends ChunkProviderForcedHeight { if (surfaceDepth <= 0) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, y < this.seaLevel ? BlockStates.WATER : BlockStates.AIR, false); pos.setY(--y); @@ -82,7 +83,7 @@ public class ChunkProviderMajorRelease extends ChunkProviderForcedHeight { } } else if (surfaceTopY < this.seaLevel - 7 - surfaceDepth) { int y = surfaceTopY; - pos.set(localX, y, localZ); + pos.setY(y); chunk.setBlockState(pos, BlockStates.GRAVEL, false); pos.setY(--y); @@ -92,6 +93,13 @@ public class ChunkProviderMajorRelease extends ChunkProviderForcedHeight { pos.setY(--y); } } + + for (int y = this.bedrockFloor; y < this.bedrockFloor + 5; y++) { + if (y <= this.bedrockFloor + this.random.nextInt(5)) { + pos.setY(y); + chunk.setBlockState(pos, BlockStates.BEDROCK, false); + } + } } } }