Map Generator 2.0 - Please Critique!

Implemented multi-tile lakes. If a body of water is less than X(right now 7) tiles in size then I designate all those tiles as lakes.

More importantly, every continuous landmass and body of water gets grouped together in an array which I should be able to access later and use the information for other purposes such as:

  1. Spawning players on the same or different continents.
  2. Spawning players on islands or continents.
  3. Having immediate knowledge whether 2 players/ports/etc are on the same landmass or body of water for trade and AI path finding purposes.
  4. Balancing resources based on landmass and body of water.
  5. Using the information for territory claiming, especially with the AI.
  6. Perhaps another half dozen things I haven’t thought of yet.

Now I have to fix a part of the river generation that snakes all throughout the lakes. It actually wouldn’t be too bad if I could hide the rivers under the lake until they pop out the other side, but there are other issues I would have to deal with as well. I am thinking the river will end in the lake and then call an event that pulls a random tile in the lake and spits the river out that end assuming it was a valid choice.