a dynamic and effective way, is to create a terrain (tileset with the grid movement behavior with speed 0), each terrain is a square in the grid, each square has its own uid, when the player is colliding with the terrain (in over the piece of land) with its own uid that makes the calculation of which is colliding, if the player has a flood, it makes a hole and changes the animation of the land itself to the animation of the land with hole to sow and then is to repeat for the other cases (note: the player must have the colider box aligned with the size of the tileset of the earth and the player must have grid movement so that in the movement it is always aligned with each square of the tileset)
and for plant growth just use the condition to define the waiting time for each stage of growth.