Une solution en 1.8 avec une ultra-clock...
En premier, crée un scoreboard de type dummy avec le nom que tu veux (appelons-le SnowBl pour cet exemple). Puis, prends un command-block et tape ceci :
Code (cpp):
/scoreboard players add @e[type=Snowball] SnowBl 1
: on incrémente une valeur pour toutes les snowballs tous les 2 ticks de jeu. Puis (phase intéressante s'il en est ) ceci
Code (cpp):
execute @e[type=Snowball,score_SnowBl_min=1,score_SnowBl=1] ~ ~ ~ /summon ThrownPotion ~ ~ ~ {tag:{CustomPotionEffects:[{Id:2,Amplifier:x,Duration:y},{Id:7,Amplifier:x,Duration:y}]}}
. Attention, ça pique un peu ici: on incrémente en boucle sur toutes les boules de neige un score nommé SnowBl. Et une fois seulement pendant leur existence, quand leur score de SnowBl est à 1 (avec @e[score_SnowBl_min=1,score_SnowBl=1], intervalle des scores possibles: [1;1] :) ), on va invoquer une potion avec les effets escomptés dessus. Une fois que cela est fait, on va tp notre potion en boucle à la boule de neige la plus proche, avec ça
Code (cpp):
execute @e[type=ThrownPotion] ~ ~ ~ /tp @e[type=ThrownPotion] @e[type=Snowball,r=2]
Je suis désolé, le dernier code du tp est un peu approximatif (on prend la boule de neige dans un rayon max de deux blocs) mais je n'arrive pas à trouver mieux...
Mais à part ça ce système fonctionne très rapidement et surtout offre la possibilité d'avoir plein de boules de neige lancées en même temps sans trop de bugs (je ne m'avance pas trop cependant!)
Si tu as d'autres questions ou si tu as besoin d'éclaircissements, n'hésite pas à demander !