Why not infinite layers? Using a different file for each image, you can divide the width by the height and get the amount of cells in each strip:
Then using a text file, describe the valid chrominance for each cell, like .block, but .plant:
Then calculate a HSL color using cell's red layer as saturation, cell's green as luminance, and a random chrominance in range, and convert it to RGB so we can display it. Finally assemble the image, blending each layer from the first (lower) to the last (upper), taking into account the alpha channel.
Might look complex, but it lets you create a virtually unlimited amount of different plants.
Then using a text file, describe the valid chrominance for each cell, like .block, but .plant:
Code:
{
"hue": [ // In degrees
"80-160", // Green for the stem
"0-359", // Any for each flower cell
"0-359",
"0-359",
"0-359"
]
}
Might look complex, but it lets you create a virtually unlimited amount of different plants.