From c9f6d820b7a732a65b324a3ad6a3c6266696a5a3 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Mon, 16 Jan 2017 19:12:38 +0100 Subject: added void detection in worldgen --- src/main/java/com/sosnitzka/taiga/util/Generator.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/sosnitzka/taiga/util') diff --git a/src/main/java/com/sosnitzka/taiga/util/Generator.java b/src/main/java/com/sosnitzka/taiga/util/Generator.java index a7f53e1..fb3d916 100644 --- a/src/main/java/com/sosnitzka/taiga/util/Generator.java +++ b/src/main/java/com/sosnitzka/taiga/util/Generator.java @@ -178,7 +178,7 @@ public class Generator { } - public static void generateMeteor(IBlockState centerBlock, IBlockState hullBlock, Random random, int chunkX, int chunkZ, World world, int count, int chance, int minY, int maxY) { + public static int generateMeteor(IBlockState centerBlock, IBlockState hullBlock, Random random, int chunkX, int chunkZ, World world, int count, int chance, int minY, int maxY) { Set validSurface = new HashSet(); List oredictentries = Lists.newArrayList("dirt", "grass", "stone", "sand", "gravel", "cobblestone", "sandstone"); for (String e : oredictentries) { @@ -187,6 +187,8 @@ public class Generator { } } + int mGenerated = 0; + for (int i = 0; i < count; i++) { if (random.nextFloat() < 0.01 * chance) { int r = nextInt(random, 1, 5); @@ -199,8 +201,7 @@ public class Generator { while (world.getBlockState(cPos.down()).equals(Blocks.AIR.getDefaultState())) { cPos = cPos.down(); - // if we are below 0, we might be in a void dim - if (cPos.getY() < 0) + if (cPos.getY() < minY) break; } } @@ -212,6 +213,8 @@ public class Generator { saveData.addPos(cPos); saveData.markDirty(); + mGenerated++; + int t = 1; if (r > 3) t = random.nextInt(r - 1); for (int x = -t; x <= t; x++) { @@ -239,5 +242,7 @@ public class Generator { } } } + + return mGenerated; } } -- cgit v1.2.3