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, 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.