	public void populate(Chunk chunk, Random random) {
		noise.setSeed((int) chunk.getWorld().getSeed());
		int x = chunk.getX() * 16;
		int y = chunk.getY() * 16;
		int z = chunk.getZ() * 16;
		Point pt = new Point(chunk.getWorld(), x + random.nextInt(16), y + random.nextInt(16), z + random.nextInt(16));
		for (int dx = x; dx < x + 16; dx++) {
			for (int dz = z; dz < z + 16; dz++) {
				for (int dy = y; dy < y + 16; dy++) {
					if (Math.sqrt(Math.pow(dx - pt.getX(), 2) + Math.pow(dy - pt.getY(), 2) + Math.pow(dz - pt.getZ(), 2)) > 6) {
						continue;
					}
					if (noise.GetValue(dx / 5.0 + 0.005, dy / 5.0 + 0.005, dz / 5.0 + 0.005) > 0 && chunk.getBlockMaterial(dx, dy, dz) == VanillaMaterials.STONE) {
						chunk.getBlock(dx, dy, dz).setMaterial(VanillaMaterials.AIR).update(true);
					}
				}
			}
		}
	}

	public void populate(Chunk chunk, Random random) {
		noise.setSeed((int) chunk.getWorld().getSeed());
		int x = chunk.getX() * 16;
		int y = chunk.getY() * 16;
		int z = chunk.getZ() * 16;
		Point pt = new Point(chunk.getWorld(), x + random.nextInt(16), y + random.nextInt(16), z + random.nextInt(16));
		for (int dx = x; dx < x + 16; dx++) {
			for (int dz = z; dz < z + 16; dz++) {
				for (int dy = y; dy < y + 16; dy++) {
					if (Math.sqrt(Math.pow(dx - pt.getX(), 2) + Math.pow(dy - pt.getY(), 2) + Math.pow(dz - pt.getZ(), 2)) > 6) {
						continue;
					}
					if (noise.GetValue(dx / 5.0 + 0.005, dy / 5.0 + 0.005, dz / 5.0 + 0.005) > 0 && chunk.getBlockMaterial(dx, dy, dz) == VanillaMaterials.STONE) {
					}
				}
			}
		}
	}
