1 votes

Comment faire pour qu'une commande ait des codes d'échappement à l'intérieur d'une commande avec des codes d'échappement ?

J'essaie donc de créer un projet en une seule commande, c'est-à-dire un projet entier en une seule commande.

J'ai déjà posé une question ici qui explique le fonctionnement de la commande unique. Question précédente de voir cela.

Ma commande longue crée une boîte, dans laquelle vont des tonnes de blocs de commande, qui à leur tour font fonctionner le tout. L'un de mes blocs de commande contient une partie spécifique qui nécessite soit des guillemets simples ("exemple"), soit des guillemets doubles avec des codes d'échappement ("exemple").

Le problème est que la commande longue a besoin de guillemets doubles, rien d'autre. Si j'utilise des guillemets doubles, la commande longue fonctionne mais pas le bloc de commande dans la boîte, et vice versa.

La dernière chose que j'ai essayé de faire est de mettre les codes d'échappement (les barres obliques inversées), ce qui, en théorie, devrait fonctionner, mais, en pratique, la commande longue les traite comme des codes d'échappement pour elle-même plutôt que pour le bloc de commandes.

J'apprécierais donc que quelqu'un me dise comment utiliser les codes d'échappement et les faire utiliser dans le bloc de commande (j'espère que vous voyez ce que je veux dire), ou qu'il trouve une solution au problème original, ou qu'il me donne simplement une façon complètement différente de contourner le problème.

Voici la commande complète :

summon falling_block ~ ~1 ~ {Time:1,BlockState:{Name:redstone_block},Passengers:[{id:armor_stand,Health:0,Passengers:[{id:falling_block,Time:1,BlockState:{Name:activator_rail},Passengers:[{id:command_block_minecart,Command:'gamerule commandBlockOutput false'},{id:command_block_minecart,Command:'data merge block ~ ~-2 ~ {auto:0}'},{id:command_block_minecart,Command:'fill ~3 ~-1 ~2 ~8 ~6 ~-2 gray_stained_glass hollow'},{id:command_block_minecart,Command:'fill ~3 ~-1 ~2 ~8 ~-1 ~-2 smooth_stone_slab[type=top]'},{id:command_block_minecart,Command:'playsound block.piston.extend ambient @a'},{id:command_block_minecart,Command:'fill ~3 ~6 ~2 ~8 ~6 ~-2 smooth_stone_slab[type=bottom]'},{id:command_block_minecart,Command:'setblock ~4 ~ ~-1 repeating_command_block[facing=east]{Command:"tag @e[nbt={OnGround:1b,Item:{id:\\"iron_block\\",Count:4b}}] add irondoor1"}'},{id:command_block_minecart,Command:'data merge block ~4 ~ ~-1 {auto:1b}'},{id:command_block_minecart,Command:'setblock ~5 ~ ~-1 chain_command_block[facing=east]{Command:"tag @e[nbt={OnGround:1b,Item:{id:\\"sticky_piston\\",Count:2b}}] add irondoor2"}'},{id:command_block_minecart,Command:'data merge block ~5 ~ ~-1 {auto:1b}'},{id:command_block_minecart,Command:'setblock ~6 ~ ~-1 chain_command_block[facing=east]{Command:"execute at @e[tag=irondoor1] as @e[tag=irondoor2,distance=..1] run summon item ~ ~ ~ {Tags:[\\"itemkill1\\",\\"IronDoorSpawn\\"],PickupDelay:20,Item:{id:\\"minecraft:stray_spawn_egg\\",Count:1b,tag:{display:{Name:\\"{\\"text\\":\\"2 x 2 Iron Door\\"}\\"},HideFlags:1,EntityTag:{id:\\"minecraft:silverfish\\",NoAI:1b,NoGravity:1b,PersistenceRequired:1b,Silent:1b,Health:0}}}}"}'},{id:command_block_minecart,Command:'data merge block ~6 ~ ~-1 {auto:1b}'},{id:command_block_minecart,Command:'setblock ~ ~1 ~ command_block{auto:1,Command:"fill ~ ~ ~ ~ ~-2 ~ air"}'},{id:command_block_minecart,Command:'kill @e[type=command_block_minecart,distance=..1]'}]}]}]}

mais cette partie est tout ce dont vous avez besoin pour résoudre le problème :

{id:command_block_minecart,Command:'setblock ~6 ~ ~-1 chain_command_block[facing=east]{Command:"execute at @e[tag=irondoor1] as @e[tag=irondoor2,distance=..1] run summon item ~ ~ ~ {Tags:[\\"itemkill1\\",\\"IronDoorSpawn\\"],PickupDelay:20,Item:{id:\\"minecraft:stray_spawn_egg\\",Count:1b,tag:{display:{Name:\\"{\\"text\\":\\"2 x 2 Iron Door\\"}\\"},HideFlags:1,EntityTag:{id:\\"minecraft:silverfish\\",NoAI:1b,NoGravity:1b,PersistenceRequired:1b,Silent:1b,Health:0}}}}"}'}

Merci d'avance.

0voto

Richie Frame Points 1800

Là encore, nous allons travailler à rebours à partir de l'extrémité la plus éloignée :

{"text":"Test"}

Vous voulez ensuite le placer à l'intérieur d'une chaîne de caractères entre guillemets, j'ai donc placé un \ devant chaque " dans la zone en gras :

execute at @e[tag=irondoor1] as @e[tag=irondoor2,distance=..1] run summon item ~ ~ ~ {Tags:["itemkill1","IronDoorSpawn"],PickupDelay:20,Item:{id:"minecraft:stray_spawn_egg",Count:1b,tag:{display:{Name:"**{\"text\":\"2 x 2 Iron Door\"}**"},HideFlags:1,EntityTag:{id:"minecraft:silverfish",NoAI:1b,NoGravity:1b,PersistenceRequired:1b,Silent:1b,Health:0}}}}

Vous voulez ensuite placer tout cela à l'intérieur autre chaîne de caractères entre guillemets. La section en gras ci-dessous est l'intégralité de la commande ci-dessus. Pour l'insérer dans cette commande, il faut remplacer tous les \ con \\ et tous les " con \" :

setblock ~6 ~ ~-1 chain_command_block[facing=east]{Command:"**execute at @e[tag=irondoor1] as @e[tag=irondoor2,distance=..1] run summon item ~ ~ ~ {Tags:[\"itemkill1\",\"IronDoorSpawn\"],PickupDelay:20,Item:{id:\"minecraft:stray_spawn_egg\",Count:1b,tag:{display:{Name:\"{\\\"text\\\":\\\"2 x 2 Iron Door\\\"}\"},HideFlags:1,EntityTag:{id:\"minecraft:silverfish\",NoAI:1b,NoGravity:1b,PersistenceRequired:1b,Silent:1b,Health:0}}}}**"}

Enfin, vous voulez placer tout cela à l'intérieur d'une chaîne de caractères entre guillemets. Cela signifie que vous devez encore remplacer tous les \ con \\ et tous les ' con \' mais heureusement, vous n'avez pas encore de guillemets simples. La section en gras ci-dessous est votre code entier, avec la partie ci-dessus insérée en gras :

{id:command_block_minecart,Command:'**setblock ~6 ~ ~-1 chain_command_block[facing=east]{Command:"execute at @e[tag=irondoor1] as @e[tag=irondoor2,distance=..1] run summon item ~ ~ ~ {Tags:[\\"itemkill1\\",\\"IronDoorSpawn\\"],PickupDelay:20,Item:{id:\\"minecraft:stray_spawn_egg\\",Count:1b,tag:{display:{Name:\\"{\\\\\\"text\\\\\\":\\\\\\"2 x 2 Iron Door\\\\\\"}\\"},HideFlags:1,EntityTag:{id:\\"minecraft:silverfish\\",NoAI:1b,NoGravity:1b,PersistenceRequired:1b,Silent:1b,Health:0}}}}"}**'}

Si mes calculs sont corrects, vous avez besoin de six barres obliques inverses dans votre texte JSON.

(D'ailleurs, si vous voulez que ce 2x2 ait le signe de multiplication (2×2), vous pouvez le remplacer par \\\\\\\\\\\\u00d7 . Mais c'est une autre histoire.

Si quelque chose ne va pas, vous pouvez consulter mes travaux ci-dessus pour trouver les erreurs si nécessaire.

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