Crashes when populating a chunk with empty (void) columns
Minecraft crashes when populating a chunk which has empty columns ("void columns"), i.e. colums with just air blocks, no bedrock, such as can for instance be generated by creating a Superflat world with preset
2;0;1;decoration
I have attached the crash report. I don't have access to the Minecraft source code, but using the Minecraft Coder Pack for Minecraft 1.7.2 I've traced it to the following code in BiomeDecorator.java (method func_150513_a(BiomeGenBase), lines 160-166):
for(var3 = 0; var3 < this.grassPerChunk; ++var3) { var4 = this.chunk_X + this.randomGenerator.nextInt(16) + 8; var5 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; var6 = this.randomGenerator.nextInt(this.currentWorld.getHeightValue(var4, var5) * 2); WorldGenerator var10 = p_150513_1_.getRandomWorldGenForGrass(this.randomGenerator); var10.generate(this.currentWorld, this.randomGenerator, var4, var6, var5); }
It takes the height at a particular x,z coordinate and feeds the result (times two) to Random.nextInt(int). Unfortunately that method throws an exception when passed a value of zero.
One way to fix this would be to change those lines to something like:
for(var3 = 0; var3 < this.grassPerChunk; ++var3) { var4 = this.chunk_X + this.randomGenerator.nextInt(16) + 8; var5 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; int height = this.currentWorld.getHeightValue(var4, var5); if (height > 0) { var6 = this.randomGenerator.nextInt(height * 2); WorldGenerator var10 = p_150513_1_.getRandomWorldGenForGrass(this.randomGenerator); var10.generate(this.currentWorld, this.randomGenerator, var4, var6, var5); } }
The same would have to be done for the other loops in that method.
2014-01-25, 08:45 PM
2015-05-03, 12:44 PM
2014-08-25, 03:24 PM
40
14