func (ct *CaveTest) block(bc coords.Block, height int) mapgen.Block { if bc.X == 0 && bc.Y == 16 && bc.Z == 0 { return mapgen.BLOCK_SPAWN } if bc.Y > height { return mapgen.BLOCK_AIR } // Calculate a cave xf, yf, zf := bc.Float64() ridge1 := ct.ridgedFilter.Filter(xf, yf, zf, ct.simplexNoise) ridge2 := ct.ridgedFilter.Filter(xf, yf, zf, ct.simplexNoise2) if ridge1 >= 0.95 { ridge1 = 1 } else { ridge1 = 0 } if ridge2 >= 0.95 { ridge2 = 1 } else { ridge2 = 0 } if ridge1*ridge2 == 1 { if DEBUG { return mapgen.BLOCK_STONE } return mapgen.BLOCK_AIR } if bc.Y == height { if DEBUG { return mapgen.BLOCK_GLASS } return mapgen.BLOCK_GRASS } if DEBUG { return mapgen.BLOCK_AIR } if bc.Y < height-3 { return mapgen.BLOCK_STONE } if height > bc.Y { return mapgen.BLOCK_DIRT } return mapgen.BLOCK_AIR }