Avant tout, crée un objectif "Buying" de type dummy.
déJà, voici la commande que tu utiliseras pour la pancarte de shop :
/setblock ~ ~1 ~ wall_sign 1 0 {Text1:"{\"text\":\"LIGNE 1\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/scoreboard players set @p Buying 1\"}}",Text2:"{\"text\":\"LIGNE 2\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock -227 6 -416 redstone_block\"}}"}
Traduction : Met le score de Buying du joueur activateur à 1, puis place un bloc de redstone aux coordonnées spécifiées
Mets le texte que tu veux, l'important, c'est les clickEvent. Tu devras ensuite construire ceci (voir ci-dessous). Après, tu remplaceras les coordonnées du setblock de la commande ci-dessus de façon à placer le bloc de redstone à l'endroit où j'ai dessiné ce magnifique cube bleu!
Avant de passer aux commandes, assure-toi que la pancarte place bien le bloc de redstone à l'emplacement prévu.
Si la pancarte est bien configurée, tu peux passer aux commandes :
Bloc 1 :
Sert à retirer le bloc de redstone
Bloc 2 :
Code:
clear @p[score_Buying=1,score_Buying_min=1] minecraft:emerald 0 0
Sert à compter le nombre d'émeraudes dans l'inventaire de tout joueur ayant un score Buying de 1 (donc ayant cliqué)
Bloc 3 :
Code:
stats block ~-1 ~ ~ set AffectedItems @p[score_Buying=1,score_Buying_min=1] Buying
Sert à stocker le nombre d'émeraudes dans l'inventaire du joueur directement dans son score Buying.
/!\Important/!\ Remplace "~ ~-1 ~" de façon à cibler la position du bloc 2!!
Bloc 4 :
Code:
tellraw @a[score_Buying=127] ["",{"text":"Tu n'as pas assez d'émeraudes!","color":"red"}]
Envoie un message si le joueur a moins de 128 émeraudes
Bloc 5 :
Code:
tellraw @a[score_Buying_min=128] ["",{"text":"Achat effectué avec succès!","color":"green"}]
Envoie un message si le joueur a 128 émeraudes ou plus
Bloc 6 :
Code:
give @p[score_Buying_min=128] minecraft:dragon_egg
Donne l'objet acheté au joueur s'il a 128 émeraudes ou plus
Bloc 7 :
Code:
clear @p[score_Buying_min=128] minecraft:emerald 0 128
Clear 128 émeraudes si l'achat a été validé
Bloc 8 :
Code:
/scoreboard players reset @a[score_Buying_min=0] Buying
Reset le score Buying; une fois l'achat terminé, le joueur ne sera plus affecté si le système est réactivé par un autre joueur