Portail de téléportation via command block 1.15.2

Syhze

Aventurier
22 Avril 2020
1
0
1
25
Bonjour, j'aurais aimer faire les portail permettant de téléporter n'importe quel joueur à une position voulu via des command block avec la command suivante : /execute at @a run execute if block ~ ~-2 ~ minrecraft:barrier run tp x y z

Mais ça ne marche pas, il y a bien-sur le block invisible (minrecraft:barrier) deux block en dessous et fait en sorte que le command block soit toujours actif, je déboute avec les commande block donc je connais pas trop leur fonctionnement bien que ça ressemble a de la programmation basique, merci.
 

Zpiboo

J'aime les datapacks et j'ai 16 ans :D
23 Février 2020
42
3
22
zpiboo.github.io
Il faut faire "execute at @a MachinTrucBidule run tp @p x y z"
sinon le command block ne sait pas qui téléporter (le "/execute at sélecteur" ne va exécuter la commande qu'a la position de l'entité sélectionnée par le sélecteur et non en tant que l'entité)
 
Dernière édition:

Detobel36

Créateur de plugins (PhoenixRebirth)
Support
17 Août 2012
10 530
24
2 247
347
27
Bruxelles - Belgique
www.phoenix-rebirth.fr
Salut,

La section "Support serveur" est plus lié au support technique des serveurs, des plugins ect.
La c'est une question plus basé sur la redstone et les commands blocks.
Je signale à un modérateur qui déplacera surement ton poste.


Cordialement,
Detobel36
 

Eglaios

Crétin de la commu
14 Avril 2018
310
42
89
24
Hé ho, chuis revenu!

/execute at @a run execute if block ~ ~-2 ~ minrecraft:barrier run tp x y z

Déjà pas mal pour un débutant comparé à ce que j'ai vu!
D'abord, pas besoin de mettre deux /execute à la suite dans ce cas-ci (et dans la plupart en fait). Après le /execute, tu peux rentrer autant d'arguments que tu veux. En fait, le jeu se contentera de cela :

/execute at @a if block ~ ~-2 ~ minecraft:barrier run ...

Ensuite, il y a les erreurs tout à fait normales avec les "at" et "as"

Dans le fond, une commande a 2 variables d'exécution : Le lieu et l'exécuteur.
Dans le /execute, tu peux fixer le lieu avec "at" et l'exécuteur avec "as".
Or, ici, tu n'as fixé que le lieu avec "at". Si le lieu ou l'exécuteur ne sont pas précisés, ils sont fixés par défaut sur le command block qui stocke la commande.

Voici donc la traduction de ta commande :
/execute [Position:Joueur] [Exécuteur : bloc de commande] if [Détecte 2 blocs sous %joueur%] run [Téléporte %Command block%]

Donc la barrier est bien détectée, mais c'est simplement que la cible de la commande /tp est le bloc de commande lui-même.
Tu devras donc simplement rajouter "as" au début du /execute. Voici la commande finale :

/execute as @a at @s if block ~ ~-2 ~ minrecraft:barrier run tp x y z

Tu noteras le "at @s" au début. Le "as @a" définit d'abord "Tous les joueurs" comme exécuteurs et "at @s" signifie donc "À %joueur exécuteur%". La commande est donc exécutée Par le joueur et À la position du joueur.


J'espère que ça aura aidé un peu...
 

Zpiboo

J'aime les datapacks et j'ai 16 ans :D
23 Février 2020
42
3
22
zpiboo.github.io
Hé ho, chuis revenu!

/execute at @a run execute if block ~ ~-2 ~ minrecraft:barrier run tp x y z

Déjà pas mal pour un débutant comparé à ce que j'ai vu!
D'abord, pas besoin de mettre deux /execute à la suite dans ce cas-ci (et dans la plupart en fait). Après le /execute, tu peux rentrer autant d'arguments que tu veux. En fait, le jeu se contentera de cela :

/execute at @a if block ~ ~-2 ~ minecraft:barrier run ...

Ensuite, il y a les erreurs tout à fait normales avec les "at" et "as"

Dans le fond, une commande a 2 variables d'exécution : Le lieu et l'exécuteur.
Dans le /execute, tu peux fixer le lieu avec "at" et l'exécuteur avec "as".
Or, ici, tu n'as fixé que le lieu avec "at". Si le lieu ou l'exécuteur ne sont pas précisés, ils sont fixés par défaut sur le command block qui stocke la commande.

Voici donc la traduction de ta commande :
/execute [Position:Joueur] [Exécuteur : bloc de commande] if [Détecte 2 blocs sous %joueur%] run [Téléporte %Command block%]

Donc la barrier est bien détectée, mais c'est simplement que la cible de la commande /tp est le bloc de commande lui-même.
Tu devras donc simplement rajouter "as" au début du /execute. Voici la commande finale :

/execute as @a at @s if block ~ ~-2 ~ minrecraft:barrier run tp x y z

Tu noteras le "at @s" au début. Le "as @a" définit d'abord "Tous les joueurs" comme exécuteurs et "at @s" signifie donc "À %joueur exécuteur%". La commande est donc exécutée Par le joueur et À la position du joueur.


J'espère que ça aura aidé un peu...
tu t'embete pour rien @Eglaios ton msg est bcp trop long
et j'avais pas vu qu'il avait fait "execute nanana run execute"
mais pk j'envoie un message qui n'as aucun rapport avec le forum? je supprime dès que je trouve comment faire