Follow up for Sprites question

I was reading his question about changing colors whenever needed, and immediately thought of Mine/Minicraft. Notch uses a single spritesheet with sprites made in entirely black, gray and white colors, and somehow gets them colored. A good example is how there’s only one pickaxe in the spritesheet, but there are 4 different colors (tiers) of them.

So, does anyone know how he accomplishes this?

Thanks,
-Nathan

The fastest way to edit a BufferedImage pixel by pixel: