1 votes

/tellraw utilise le mauvais joueur lorsqu'il est utilisé avec le bloc de commande dans le Nether.

[Java Edition 1.15.2] J'ai une plaque de pression qui active deux blocs de commande dans le Nether :

  1. execute as @p in minecraft:overworld run tp @p 98 67 101 180 0 qui téléporte le joueur de la plaque de pression dans le Nether à un endroit spécifique dans l'overworld face au nord.
  2. tellraw @a {"text":"","color":"green","bold":true,"extra":[{"selector":"@p"},{"text":" has teleported to the overworld!"}]} qui indique au chat qui s'est téléporté et vers où.

J'ai la même chose dans l'overworld en allant dans le Nether. Cela fonctionne parfaitement lorsqu'on va de l'overworld vers le Nether, mais lorsqu'on va du Nether vers l'overworld, le bloc de commande tellraw cible mon ami dans l'overworld avec @p au lieu de moi.
Par exemple, disons que je suis le joueur 1 et que mon ami est le joueur 2. Lorsque je vais de l'overworld au Nether, il dit playerOne has teleported to the nether! ce qui est censé se produire. Mais, lorsque je me téléporte du Nether vers le overworld, je vois playerTwo has teleported to the overworld! ce qui est incorrect.
Comment puis-je faire en sorte que ce soit toujours le joueur le plus proche, quelle que soit la dimension ? Si cela fait une différence, le joueur 2 est toujours dans l'overworld lorsque cela se produit.

0 votes

À quelle édition de Minecraft jouez-vous ?

0 votes

Édition java. désolé, j'aurais dû préciser

0 votes

Solution de fortune : Exécutez la commande 2 avant la commande 1.

0voto

Moshe Points 23825

Je sais que c'est une solution fastidieuse, mais il existe un sélecteur @s qui est conçu pour cibler le exécution de et non le joueur le plus proche. Pour cette raison, nous pourrions lier les deux commandes à l'aide d'une balise fonction :

Créer un datapack, pour cet exemple, je vais utiliser mydatapack comme le nom. Dans le datapack, créez une fonction qui exécute vos deux commandes, mais légèrement modifiée. Au lieu d'utiliser execute as écrivez simplement :

tp @s 98 67 101 180 0
tellraw @a {"text":"","color":"green","bold":true,"extra":[{"selector":"@s"},{"text":" has teleported to the overworld!"}]}

Ensuite, faites la même chose pour le Néerlandais. Je vais appeler ces fonctions tpInNether pour l'exemple ci-dessus, et tpInOverworld pour la plaque de pression à placer dans l'overworld.

Sur le bloc de commande de votre plaque de pression, collez execute as @p in minecraft:overworld run function tpInNether Faites de même pour la plaque de pression de l'overworld.

0 votes

Pouvez-vous me donner un exemple de chemin à suivre pour le mettre en place ? Je connais les datapacks mais comment créer tous les sous-dossiers ?

0 votes

Je n'ai rien compris, j'ai trouvé la solution, merci.

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