Dans la même journée ou j'ai posé la question j'ai trouvé une solution. Donc merci de ton aide quand même :) Mais je vais vous montrer comment j'ai fait qui est beaucoup plus cours.
2 clock, 1 continue (la plus rapide possible tout le temps activé) et l'autre qui s'active que quand le joueur est sur du diam's ou gold (début de map ou chekpoint sur la map).
Dans la continue et dans l'ordre.
Code (cpp):
/execute @p ~ ~ ~ detect ~ ~-0.2 ~ obsidian 0 execute @e[type=ArmorStand,name=Perle,r=0,5] ~ ~ ~ give @p ender_pearl
Code (cpp):
execute @p ~ ~ ~ detect ~ ~-0.2 ~ obsidian 0 execute @p ~ ~ ~ kill @e[type=ArmorStand,name=Perle,r=0,3]
Et dans l'autre et dans l'ordre aussi.
Code (cpp):
kill @e[type=ArmorStand,name=Perle]
Code (cpp):
execute @e[type=ArmorStand,name=Obsidian] ~ ~ ~ /summon ArmorStand ~ ~ ~ {CustomName:"Perle",Invisible:1,Invulnerable:1,NoBasePlate:1,NoGravity:1}
Pour vous expliquer, sur chaque block d'obsi, je summon (à la main) un armor stand renommer Obsidian. Lors de l'update (block d'or ou de diam's) on va kill l'armor stand name perle puis le remettre (afin d'éviter d'en avoir des milliers). Et quand le joueur et sur le block d'obsi l'armor stand "Perle" va lui give une ender perle puis mourrir, il ne pourra donc pas en redonner. Et une fois update, "perle" sera de nouveau là prêt à lui donner une ender perle. (y'a un clear de l'inventaire afin d'évité d'en avoir plusieurs).
Au final, c'étais une solution pas très compliquer, mais merci de ton aide :)
PS: Je n'aime pas trop utiliser les scorboard (bien que très utile voir obligatoire, je l'accorde) car c'est trop compliquer pour moi XD Même si un jour j'aurais pas le choix de l'utiliser