Stopped trying to fill big holes in creative.

This means admins will have to do repair when players leave gaping holes
in the ground, but also means that having the wrong sea level set in
your config file will no longer create "random" islands in the sky.
Payoffs in better out of the box experience for custom worlds and fewer
instances of helping customers troubleshoot.
This commit is contained in:
ryanhamshire 2015-05-16 19:32:26 -07:00
parent 7f680d82a9
commit 8f489cff16

View File

@ -137,12 +137,6 @@ class RestoreNatureProcessingTask implements Runnable
//remove water/lava above sea level //remove water/lava above sea level
this.removeDumpedFluids(); this.removeDumpedFluids();
//cover over any gaping holes in creative mode worlds
if(this.creativeMode && this.environment == Environment.NORMAL)
{
this.fillBigHoles();
}
//cover surface stone and gravel with sand or grass, as the biome requires //cover surface stone and gravel with sand or grass, as the biome requires
this.coverSurfaceStone(); this.coverSurfaceStone();
@ -175,29 +169,6 @@ class RestoreNatureProcessingTask implements Runnable
} }
} }
private void fillBigHoles()
{
if(this.seaLevel < 3) return;
for(int x = 1; x < snapshots.length - 1; x++)
{
for(int z = 1; z < snapshots[0][0].length - 1; z++)
{
//replace air, lava, or running water at sea level with stone
if(this.snapshots[x][this.seaLevel - 2][z].typeId == Material.AIR.getId() || this.snapshots[x][this.seaLevel - 2][z].typeId == Material.LAVA.getId() || (this.snapshots[x][this.seaLevel - 2][z].typeId == Material.WATER.getId() || this.snapshots[x][this.seaLevel - 2][z].data != 0))
{
this.snapshots[x][this.seaLevel - 2][z].typeId = Material.STONE.getId();
}
//do the same for one layer beneath that (because a future restoration step may convert surface stone to sand, which falls down)
if(this.snapshots[x][this.seaLevel - 3][z].typeId == Material.AIR.getId() || this.snapshots[x][this.seaLevel - 3][z].typeId == Material.LAVA.getId() || (this.snapshots[x][this.seaLevel - 3][z].typeId == Material.WATER.getId() || this.snapshots[x][this.seaLevel - 3][z].data != 0))
{
this.snapshots[x][this.seaLevel - 3][z].typeId = Material.STONE.getId();
}
}
}
}
//converts sandstone adjacent to sand to sand, and any other sandstone to air //converts sandstone adjacent to sand to sand, and any other sandstone to air
private void removeSandstone() private void removeSandstone()
{ {