7 votes

Copier et coller plusieurs commandes dans le terminal de Minecraft

Mise à jour : En utilisant cela j'ai créé cet outil pour copier et coller des codes QR dans Minecraft

Je voulais composer une série de commandes dans un éditeur externe puis les coller pour les exécuter dans la console Minecraft (fenêtre de discussion).

Mais si vous collez plusieurs lignes, il semble simplement ignorer les sauts de ligne. Ma prochaine idée était d'utiliser un séparateur entre les commandes, comme un point-virgule, mais après avoir fait quelques recherches sur DuckDuckGo, je n'ai trouvé aucun séparateur de ce genre.

Ceci est pour un royaume, et j'utilise la version Java.

Exemple

Par exemple, j'aimerais pouvoir faire des choses comme composer un petit script comme ceci dans un éditeur externe :

/setblock 0 0 0 air
/playsound block.bell.use master @p

Ensuite, le copier dans le presse-papiers, ouvrir Minecraft et appuyer sur "t" pour ouvrir la ligne de commande / discussion. Ensuite, si je colle, malheureusement ce que j'obtiens est

/setblock 0 0 0 air/playsound block.bell.use master @p

Ce que je voudrais, c'est que plusieurs commandes s'exécutent.

Mise à jour Je ne parle pas de fonctions, car je veux que n'importe qui puisse coller des commandes, pas seulement les administrateurs du royaume mais n'importe qui avec les tricheurs activés.

0 votes

Pourquoi voulez-vous faire cela? Vous pouvez simplement exécuter les commandes l'une après l'autre.

0 votes

@FabianRöling Par exemple, si je créais un outil qui transforme un pixelart de 16x16 en commandes setblock, cela pourrait être 256 commandes, ce qui serait trop à coller séparément. Si je nécessite le téléchargement et le réenvoi du royaume, alors les non-administrateurs ne pourraient pas l'utiliser.

8voto

AMJ Points 897

Vous pourriez faire cela en écrivant une fonction (fichier .mcfunction) et en la plaçant dans un datapack dans le dossier de la carte. Pour créer une fonction, suivez ces étapes :

  1. Ouvrez le bloc-notes (ou l'éditeur de texte de votre choix) et saisissez les commandes que vous souhaitez exécuter, chacune sur sa propre ligne.

  2. Enregistrez le fichier, nommez-le comme vous le souhaitez, (remplacez .txt par .mcfunction) sur votre bureau.

  3. Créez des dossiers dans cet ordre :

    datapacks / [nom du datapack] / data / [espace de noms] / functions

  4. Déplacez le fichier .mcfunction que vous avez créé dans le dossier functions, et déplacez le dossier datapacks dans le dossier de votre monde. (pour un Royaume, vous devrez d'abord télécharger la carte - allez dans les sauvegardes du monde et téléchargez la dernière)

  5. (pour un Royaume) Téléchargez la carte modifiée sur le Royaume.

  6. Exécutez la fonction avec /function [espace de noms] : [nom de la fonction]. Cela peut être fait par un joueur ou à partir d'un bloc de commandes.

Remarque : le sélecteur @p sera relatif au bloc de commande ou au joueur qui a exécuté la fonction, dans ce cas d'utilisation, je suppose que @a serait plus adapté.

0 votes

Merci, donc il semble que coller plusieurs ne soit pas possible. Je voulais que tout le monde sur un royaume puisse coller les commandes, pas seulement les administrateurs, et cela aurait été plus convivial de ne pas nécessiter de téléchargement et de téléversement.

1 votes

En tant qu'administrateur/un simple gars qui gère son propre serveur, c'est parfait! Maintenant je peux scripter tous mes fichiers de commandes et simplement les exécuter depuis mon monde

0 votes

Note : les commandes de plugin ne peuvent pas être exécutées à l'aide des fonctions de datapack, seules les commandes vanilla. De plus - pour que la fonction soit disponible, le datapack doit contenir le fichier pack.mcmeta et doit ensuite être activé.

8voto

Fabian Röling Points 19325

Avant que les fonctions et les blocs de structure n'existent, la meilleure façon d'envoyer à quelqu'un une construction de bloc de commande était une "création en une commande", qui invoquait un bloc de commande en chute montant sur un bloc de commande en chute montant sur un bloc de commande en chute montant …

Actuellement, il y a un bug qui casse cela : https://bugs.mojang.com/browse/MC-145113
Mais vous pouvez contourner en utilisant d'autres entités entre eux qui meurent instantanément. Vous pouvez par exemple le faire comme ceci :

summon falling_block ~ ~2 ~ {Time:1,BlockState:{Name:"command_block"},TileEntityData:{auto:1,Command:"say 1"},Passengers:[{id:"armor_stand",Health:0,Passengers:[{id:"falling_block",Time:1,BlockState:{Name:"command_block"},TileEntityData:{auto:1,Command:"say 2"},Passengers:[{id:"armor_stand",Health:0,Passengers:[{id:"falling_block",Time:1,BlockState:{Name:"command_block"},TileEntityData:{auto:1,Command:"say 3"}}]}]}]}]}

Cela exécute les trois commandes, say 1, say 2 et say 3, dans cet ordre. Si vous voulez également nettoyer par la suite, vous pouvez simplement ajouter un autre bloc de commande qui supprime la tour :

summon falling_block ~ ~2 ~ {Time:1,BlockState:{Name:"command_block"},TileEntityData:{auto:1,Command:"say 1"},Passengers:[{id:"armor_stand",Health:0,Passengers:[{id:"falling_block",Time:1,BlockState:{Name:"command_block"},TileEntityData:{auto:1,Command:"say 2"},Passengers:[{id:"armor_stand",Health:0,Passengers:[{id:"falling_block",Time:1,BlockState:{Name:"command_block"},TileEntityData:{auto:1,Command:"say 3"},Passengers:[{id:"armor_stand",Health:0,Passengers:[{id:"falling_block",Time:1,BlockState:{Name:"command_block"},TileEntityData:{auto:1,Command:"fill ~ ~-3 ~ ~ ~ ~ air"}}]}]}]}]}]}]}


Michael Dibbets/Tschallacka a créé un générateur en 2020 pour ces commandes combinées : https://www.tschallacka.de/minecraft/multiple-commands-generator (miroir, archive)

Entrez vos commandes dans le champ de texte au-dessus du bouton rouge, une par ligne, sans barres obliques devant (comme une fonction) et appuyez sur le bouton. Le champ de texte en bas contiendra alors la commande combinée.
Le générateur ne valide pas si les commandes sont valides et n'ignore pas les lignes vides ou les lignes commençant par #, donc vous ne pouvez pas simplement copier-coller des fichiers de fonctions dedans.

Informations de licence sur son profil (archive).

0 votes

J'ai soupçonné qu'une attaque de ce type devait être possible. Merci!

1 votes

Se sentait inspiré par votre réponse, ne sait pas s'il en existe déjà un jsfiddle.net/Tschallacka/evwb39dr/embedded/result

0 votes

@Tschallacka Génial ! Mais j'ai déjà trouvé un bug : la commande /fill descend toujours de trois blocs, peu importe combien de commandes j'entre. Elle devrait descendre autant de blocs que j'ai entré de commandes.

1voto

RIVERMAN2010 Points 213

Vous pourriez déjà avoir créé l'art pixelisé, puis le cloner à la position puis jouer le son de cloche au joueur, c'est mieux fait avec des balises tags pour que tout aille au bon joueur.

Une autre chose que vous pourriez faire est d'avoir un bloc de structure avec les commandes déjà à l'intérieur, puis avoir une commande setblock qui place le bloc de structure prédéfini.

0voto

MCBlingDaddy Points 1

On peut copier plusieurs commandes dans le presse-papiers puis les coller dans une fenêtre serveur Minecraft. J'explique comment dans un post YouTube à

Alternativement, on peut utiliser AutoHotKey pour charger un fichier texte dans un client Minecraft (fenêtre de jeu). Également disponible sur ma chaîne.

1 votes

Les liens et les vidéos sont utiles dans un article, mais assurez-vous que l'article reste clair sans eux. Vous devriez expliquer directement dans votre article ce que cela fera, et expliquer en détail comment le faire.

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