Al ver la flor de mario creo que lo que mejor quedaría para el caminar sobre el agua sería hacer un fill de hielo, lo cual ya se ha hecho muchas veces y el comandos sería así:
/execute @a[score_(Nombre Del Scoreboard Que Detecta La Flor)_min=1] ~ ~ ~ /fill ~-1 ~-1 ~-1 ~1 ~-1 ~1 ice 0 replace water 0
Y para el tema de rebotar por las columnas de agua, lo único que se me ocurrió fue hacer el execute con un detect de water 8 (La id del agua que cae) y luego un setblock de un bloque de hielo abajo del jugador, pero por alguna razón, no me funciona el replace y el hielo reemplaza cualquier cosa que haya cerca, fuera de ese problema, se le podría dar al jugador, el efecto jump boost de nivel 2 o 3 y así que de saltos que valgan más la pena. El comando sería:
/execute @a[score_(El mismo score de antes)_min=1] ~ ~ ~ detect ~ ~ ~1 water 8 /setblock ~ ~-1 ~ ice 0 replace air
Ese comando lo repites 4 veces y en la parte del detect le pones en la <x> uno positivo, luego uno negativo y en la <z> lo mismo, uno positivo y uno negativo.
Para darle el jump boost sería:
/execute @a[score_(El mismo)_min=1] ~ ~ ~ detect ~ ~ ~1 water 8 /effect @p jump_boost 1 1
Igualmente lo repites 4 veces cambiando el detect, y debería estar todo funcionando, a excepción de ese pequeño error descrito arriba, espero haberte ayudado :3
Si necesitas hacer el item, o detectarlo, me avisas ~