Tout serveur ayant une économie, peu importe son type, repose sur des boutiques qui assurent les échanges entre joueurs ou bien avec un système indépendant. Et c’est justement sur ce critère de l’interlocuteur qu’on peut établir une distinction entre deux types de boutiques : celles qui permettent à deux joueurs d’échanger entre eux, qui s’assimile à un hôtel de vente, et celles qui permettent d’acheter des items potentiellement à l’infini à une entité indépendante, par exemple un PNJ marchand. C’est ce second cas qui va nous intéresser aujourd’hui. Dans cet article, nous allons apprendre à créer une boutique simple, tant dans sa configuration que dans son interface, qui se résume à un simple panneau.
Paramétrer votre boutique
Voici un aperçu de la boutique que vous allez créer. Elle se compose d’un panneau sur lequel sont indiqués à gauche l’item et la quantité que vous en cédez, l’item et la quantité que vous en recevrez étant indiqués à droite.
Pour commencer, munissez-vous d’un command block et entrez-y la commande suivante :
/give @p sign 1 0 { BlockEntityTag: { Text1: « {\ »text\ »:\ »You Pay You Get\ »,\ »italic\ »:true,\ »clickEvent\ »:{\ »action\ »:\ »run_command\ »,\ »value\ »:\ »scoreboard players set @p SHOP [numéro de votre boutique]\ »}} », Text2: « {\ »text\ »:\ »[nombre d’items donnés]x [nombre d’items reçus]x\ »,\ »bold\ »:true,\ »color\ »:\ »white\ »,\ »clickEvent\ »:{\ »action\ »:\ »run_command\ »,\ »value\ »:\ »/playsound ui.button.click master @a[r=10] ~ ~ ~ .4 1.7\ »}} » }, display: { Name: « Custom Sign » }}
Ensuite, alimentez le command block en redstone. Tant qu’il sera alimenté, tout panneau que vous poserez se transformera en boutique. Pour l’instant, les panneaux afficheront les quantités des items échangés, mais pas les items eux-mêmes. Pour remédier à cela, il vous faudra par deux commandes, une pour chaque item ou bloc du panneau. Selon si l’objet en question est un bloc ou un item, les commandes sont différentes.
Si l'objet donné est un bloc
Si l'objet donné est un item
Si l'objet reçu est un bloc
Si l'objet reçu est un item
Placez ces commandes dans des command blocks juste en-dessous de votre boutique, et placez-le premier en regardant en direction du sud. Activez-le avec un bouton, puis détruisez-le et répétez l’opération avec le second (il n’y a pas d’ordre à respecter entre les deux).
Il ne reste plus qu’à configurer le système en lui-même. Pour cela, vous devrez vous munir de quatre command blocks que vous devrez placer en colonne comme ceci :
Sur ce screenshot, ils sont à droite, les autres command blocks contenant les commandes précédemment indiquées.
De bas en haut, voici la configuration de chaque command block
- Repeat, Unconditional, Always active ;
- Chain, Unconditional, Always active ;
- Chain, Conditional, Always Active ;
- Chain, Unconditional, Always active.
De bas en haut, voici les commandes à mettre dans chaque command block :
/scoreboard objectives add SHOP dummy
/clear @a[score_SHOP_min=[numéro de votre boutique],score_SHOP=[numéro de votre boutique]] [id de l’objet donné] 0 [quantité donnée]
/give @a[score_SHOP_min=[numéro de votre boutique],score_SHOP=[numéro de votre boutique]] [id de l’objet reçu] [quantité reçue]
/scoreboard players reset @a[score_SHOP_min=1] SHOP
Si vous avez plusieurs boutiques en même temps, laissez les trois premiers command blocks tels quels, et ajoutez par-dessus deux nouveaux command blocks selon le modèle des deuxième et troisième command block. Enfin, placez par dessus le dernier dernier command block.
y a une commande pour effacer les mini icone flottante des objet qui sont apparu sur les commande block?
Bonjour, afin de régler votre soucis avec la commande, nous vous invitons à poser votre question sur le forum de Minecraft-France ou l’ensemble de la communauté pourra répondre à votre demande en cliquant sur le lien suivant : https://forum.minecraft-france.fr/forums/commands-blocks-redstone.118/
Rien que la première commande ne fonctionne pas, j’obtiens l’erreur suivante :
[12:23:43] L’analyse syntaxique du data tag a échoué : Expected value at: { BlockEntityTag: { Text1: <–[HERE]
Ne focntione pas
@Asilis : le mérite revient à TheRedEngineer, je n’ai fait qu’adapter son tutoriel. ;)
Super des tuto command blocks, merci Spooky :)
Quelle joie de revoir des tutoriels command block ! Surtout d’aussi bonne qualité, SpookyPowa. Je commence à croire que tu es meilleur que moi ;) @31703
Très bonne astuce !
On pourrait juste inclure un @s au lieu d’un @p dans la commande « scoreboard players set @p SHOP [numéro de votre boutique] » afin d’éviter qq soucis ;)
Et on attends avec impatience le clear si la personne a au moins X items, allez Mojang ! :p