You could, for each pixel, calculate the gradient/normal (based on surrounding pixels) and then use those to apply some basic lighting (if it faces away from the light direction, make it darker, otherwise lighter)
This is roughly equivalent to treating the 2D map as a smooth heightmap and applying simple directional lighting (if you didnt 'smooth' it, you would only see the top surfaces, which without shadowing would all receive the same lighting and look pretty flat - of course you could add proper shadows but at that point you probably should just render the world from above and use that as a minimap...)
Not sure about the transparent voxels (see the water), might be easier to not apply shadows there.
You might be able to find the source for the map rendering code (apparently you can use this thingy to somehow get readable source for mod making purposes and supposedly its not illegal) and see how they implement it.
But the basic idea is that surfaces are darkened based on what direction their normal is in. All you need to do is define exactly what is considered a surface, and how to compute its normal (which is probably different than how its done for the 3D world)