Feel free to have a read on the code of this thing. The voxel drawing part should be very easy to extract from the rest.

The first quarter (first spritesheet tab in the editor) serves as a map for the voxel drawing, using layers of 16x16 pixels.
The island is generated using custom cellular automata, each layer being a new step based on the previous one.
The seasons are all about reading the voxel map and replacing the colors.
The name generation is super rudimentary, check out the code if you're interested it's something like 20 lines.