J'ai une autre solution qui consiste à détecter si l'exp bottle a un block d'air en dessous de lui.
Code (cpp):
scoreboard players tag @e[type=ThrownExpBottle,tag=grenade] add explode
execute @e[type=ThrownExpBottle] ~ ~ ~ detect ~ ~-1 ~ air 0 scoreboard players tag @e[type=ThrownExpBottle,tag=explode,r=0,c=1] remove explode
execute @e[type=ThrownExpBottle,tag=explode] ~ ~ ~ summon Creeper ~ ~ ~ {CustomName:Grenade,Fuse:0s,ignited:1,DeathLootTable:}
execute @e[type=ThrownExpBottle,tag=explode] ~ ~ ~ kill @e[type=ThrownExpBottle,tag=explode,r=0,c=1]
La première commande
ajoute le tag "explode" à toutes les grenades qui ont le tag "grenade".
La deuxième enlève le tag "explode" à toutes les grenades qui ont
un block d'air en dessous d'eux, si il n'ont pas de block d'air en dessous d'eux,
le tag "explode" va rester sur l'exp bottle qui va summon un creeper puis exécuter la commande /kill sur elle même.
L'exp bottle va exploser quand elle sera
proche du sol, ce n'est pas forcément ce que tu veux. Et n'oublie pas de rajouter le tag "grenade", un score ou un nom à ton exp bottle pour que le système ne marche que sur les grenades.
Cliquez pour agrandir...