How it works? The three stages.
First stage, chunk reading:

Mapee only reads chunks that are saved in single-player worlds. The mapper converts them to the latest version in its memory. The world files remain unmodified. Mapee is capable of loading worlds from beta 1.3 up to the most recent version. Future plans involve the addition of pre-1.3 beta worlds as well.


Second stage, scanning:
Columns:

Mapee uses a top-down scanning technique. Each chunk comprises 256 columns, with each column representing a block on the horizontal plane. There are three types of blocks:

1) Ignored, e.g. air.
2) Transparent, e.g. water, leaves, glass.
3) Solid, e.g. stone, grass block, wood.

If the scanner hits a solid block, the column is said to be 'finished', it will not be scanned further.

Y level:

The scanner has to choose the Y level from which to start scanning the column; there are 2 configurations:

1) Set Y - This is the simplest one. Say it's set to Y = 70, that means for all chunks, anything above Y level of 70 will be ignored. It's how 'layered' rendering can be done. Nether & The End uses this configuration.
2) Heightmap - Heightmaps store the Y level of the highest block for each column, that meets a certain specifiction. Mapee uses 4 such heightmaps:
WORLD_SURFACE - Highest non-air block. The default heightmap.
OCEAN_FLOOR - Higest motion blocking block. Can be used to render ocean floors efficiently.
MOTION_BLOCKING - Highest motion blocking block, except it stores water, lava & waterlogged blocks.
MOTION_BLOCKING_NO_LEAVES - Similar to the previous one, except leaves of all types are ignored.
Block filter:

As the scanner goes through each block in the column, it has to know which of the three types apply to it. This opportunity can the employed to filter certain blocks for more interesting block formations.


Third stage, rendering:

This stage is perhaps the most complicated one. Each column is represented by one pixel. Blocks inside columns get painted in a top-down fashion.

There are 5 steps when it comes to painting a block, say we want to get the output color:

1) Fetch the plain block color.
2) If a block is affected by biomes, combine the plain color with the biome color. Note, biomes before 1.2 are not saved in chunks and therefore, Mapee will default to the minecraft:plains biome.
3) Get the sky light and block light values, combine them into one. Darken the output color (from step 2) based on the light intensity.
4) Change block hue and its brightness depending on the altitude (Y value).
5) If neighboring blocks are above the current one (i.e. if the step is negative), darken the output color; if above, lighten it.
NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG.