Eau empoisonnée ?

Ah si c'est juste une rivière c'est très simple du-coup, et tu peux utiliser la méthode qui utilise les positions.
Ce qui te donne un unique commande block avec pour commande :
/effect @a[X,Y,Z,dx=DX,dy=DY,dz=DZ] poison (duré) (puissance)

X, Y et Z étant les coordonnées du coin nord-ouest inférieur.
DX, DY et DZ étant le nombre de blocs à partir des coordonnées X, Y, Z dans le sens positif, c-à-d est pour le DX, haut pour le DY et sud pour le DZ.

Ce qui peut donner un commande qui ressemble à ça :
/effect @a[0,59,380,dx=20,dy=5,dz=126] poison 1 2
 
Y a une commande toute bête aussi:
Code:
/execute @a ~ ~ ~ detect ~ ~ ~ minecraft:water -1 effect @p minecraft:nausea 5 0 true
/execute @a ~ ~ ~ detect ~ ~ ~ minecraft:water -1 effect @p minecraft:poison 2 0 true
 
Ça dépend si tu limite le rayon d'actions de la commandes.
La commande de Mlakus, qui est mieux que celle que j'ai proposé, empoisonnera toutes les eaux si tu la garde en l'état. Pour qu'elle n'affecte qu'un point d'eau il faut modifier les sélecteurs en mettant des critères de sélections.

Par exemple si t'a zone d'eau s'étend de la zone X=126 Y=59 Z=385 à la zone X=148 Y=63 Z=400 tu aura une commande du type:
Code:
/execute @a[126,59,385,dx=22,dy=4,dz=15] ~ ~ ~ detect ~ ~ ~ minecraft:water -1 effect @p[r=0] minecraft:nausea 5 0 true
 
Il suffie de faire une clock ^^ pas compliqué
ensuite tu met un command block sur le signal de redstone (pour tester ta clock tu met /say dans le command block)
puis dans le command block tu met la command dit au paravent.