3 votes

Comment combiner des entrées de texte dans JSON ?

Je veux combiner un texte et un score provenant d'un tableau d'affichage, mais je n'arrive pas à le faire fonctionner.

Voici ce que j'ai actuellement :

/tellraw @a {"text":"test","score":{"name":"player","objective":"scoreboard"}}

Lorsque j'exécute la commande, elle n'affiche que le texte, mais pas le score. Que dois-je faire ?

1voto

Fabian Röling Points 19325

/tellraw peut utiliser directement un tableau :

/tellraw @s [{"text":"abc"},{"text":"123"}]

ExpertCoder14 a montré qu'il est également possible de faire cela dans les chaînes de caractères en NBT, ce que je croyais impossible auparavant.

Vous pouvez également utiliser " extra ", dans lequel vous pouvez à nouveau utiliser un nombre arbitraire de composants :

/setblock ~ ~ ~ oak_sign{Text1:"{\"text\":\"abc\",\"extra\":[{\"text\":\"123\"},{\"text\":\"lalala\"}]}"}

1voto

Richie Frame Points 1800

Fabian Röling a raison de dire que vous pouvez utiliser un tableau dans les zones où votre texte JSON brut est saisi en tant qu'entrée de commande :

/tellraw @s [{"text":"abc"},{"text":"123"}]

Toutefois, lorsque vous saisissez du texte JSON brut dans un fichier de type string dans les données NBT, vous pouvez toujours utiliser un tableau. Veillez à mettre la balise , séparateur après le } mais avant le site ] .

/data merge block ~ ~ ~ {CustomName:"[{\"text\":\"Custom Name of Chest\"}, {\"text\":\"Some More Text\"}]"}

Notez que, bien qu'il ait l'air différent, il est techniquement le même que le deuxième exemple de Fabian Röling ci-dessous, d'après la façon dont il se comporte lorsqu'on ajoute d'autres composants pour modifier le style et la couleur de la police. Cela est évident car chaque section reprend le formatage de la première, à moins que des instructions de remplacement ne soient fournies.

Si vous jouez sur Minecraft 1.14+, pourquoi ne pas essayer d'enfermer toute la chaîne de tag de données en utilisant ' au lieu de " s ? De cette façon, vous n'avez pas besoin d'échapper à chaque guillemet double avec un \ .
Comme ça :

/data merge block ~ ~ ~ {CustomName:'[{"text":"Custom Name of Chest"}, {"text":"Some More Text"}]'}

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X