A frog appearing in the world gets a color based on biome: warm in warm biomes, cold in cold biomes, and temperate in others.
A tadpole that matures into a frog chooses its appearance again based on the biome where it grew (Tadpole → Frog.finalizeSpawn): a bucket with a tadpole can be transported to the correct biome.