I'm a little confused about what you're trying to do. If you represent your terrain as a single 2D heightmap, then you won't be able to form the same kind of terrain as minecraft, as it is a 3D voxel terrain (i.e. arbitrary placement of cubes anywhere in 3D).
One benefit of voxels is that you can have overhangs and tunnels and floating blocks, which are all impossible with a heightmap like you describe.
In terms of minecraft, a single 2D texture can only provide you with information about a single layer of blocks.
If you really do want to create a 2D heightmap, Vue has excellent tools for doing so. (Although it is quite expensive.)
If you want to generate an interesting 3D terrain from scratch consider this often quoted GPU Gems article: Generating Complex Procedural Terrains Using the GPU, and simply ignore all the hard parts of generating a mesh from the voxels, and just use the voxel generation method by itself (just a combination of trig functions).
Texture colors can be generated based on slope and height.