>> La recherche se fait sur tous les élements du jeu Minecraft <<
Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs

Astuce Minecraft : EnderFlèches (solo et multi)


Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs

Voici aujourd'hui une manière de créer des "Flèches EnderPearl", avec un système basique faisable en solo et un autre système plus complexe qui gère aussi le multijoueur, le tout en 1.13 !

On rappelle dès le début la commande à entrer dans le tchat pour obtenir un bloc de commande :
/give @s command_block

 
1. Premier système, solo uniquement
 
Dans un premiers temps, disposez deux blocs de commande comme cela : un en mode "Répétition" et un autre en mode "Chaine", à la suite du premier.

Ensuite inscrivez-y les deux commandes suivantes, dans l'ordre :
execute as @e[nbt={inGround:1b},type=arrow] run tp @p @s
kill @e[nbt={inGround:1b},type=arrow]


La première sert à exécuter un tp sur toutes les flèches (type=arrow) qui sont plantées dans le sol (nbt={inGround:1b}). Le @p vise le joueur le plus proche de la flèche, pour la "victime" du tp, et le @s représente la flèche, pour la destination.
Quant au kill, il est juste là pour enlever la flèche. Si vous souhaitez pouvoir la récupérer en vous téléportant, il suffit de l'enlever.

Mais vous voyez que ce système téléporte le joueur le plus proche, donc il n'est pas compatible au multijoueur puisque l'archer ne sera pas forcément téléporté. Voici donc une autre méthode, plus lourde, qui va donner un identifiant unique à l'archer pour ne pas le confondre avec les autres joueurs.

 
2. Deuxième système, tout mode de jeu

Pour celui-ci il faudra quatre commandes qui initialiseront le système en créant les quatre scores nécessaires. Après cela vont s'ajouter neuf commandes en répétition, pour le système en lui-même.

Les quatre commandes d'initialisation, à n'exécuter qu'une seule fois (dans le tchat par exemple), sont les suivantes :
  • Crée un score enderArrow modifiable par commande, qui servira à détecter un joueur ayant un arc en main
/scoreboard objectives add enderArrow dummy
  • Crée un score useBow automatiquement incrémenté par le jeu lorsqu'un joueur utilise un arc
/scoreboard objectives add useBow minecraft.used:minecraft.bow
  • Crée un score Id modifiable par commande, qui servira à appliquer un identifiant au joueur)
/scoreboard objectives add Id dummy
  • Crée un autre score, qui générera un identifiant
/scoreboard objectives add Data dummy



Puis viennent les neuf commandes du système:
  • On met le score enderArrow à 1 pour tous les joueurs ayant un arc dans la main
scoreboard players set @e[nbt={SelectedItem:{id:"minecraft:bow"}}] enderArrow 1
  • On incrémente de 1 le score Data pour le faux joueur SUID
execute as @e[scores={enderArrow=1, useBow=1..}] run scoreboard players add SUID Data 1
  • La valeur du score Data est appliquée à celle du score Id pour le joueur
execute as @e[scores={enderArrow=1, useBow=1..}] run scoreboard players operation @s Id = SUID Data
  • Puis ce score est appliqué à la flèche
execute as @e[scores={enderArrow=1, useBow=1..}] at @s run scoreboard players operation @e[type=arrow,distance=..2] Id = @s Id
  • On applique un tag à tous les joueurs dont l'ID correspond à celui de la flèche
execute as @a if score @s Id = @e[sort=random,scores={Id=1..},type=arrow,nbt={inGround:1b},limit=1] Id run tag @s add tp_to_enderArrow
  • Enfin on téléporte le joueur possédant le tag à la flèche, si le score correspond
execute as @e[type=arrow,nbt={inGround:1b}] at @s if score @s Id matches 1.. run tp @e[tag=tp_to_enderArrow] ~ ~ ~
  • Pour finir on reset les scores...
scoreboard players set @e[scores={useBow=1..}] useBow 0
scoreboard players set @e[scores={enderArrow=1}] enderArrow 0
  • ... et le tag
tag @e[tag=tp_to_enderArrow] remove tp_to_enderArrow


Voilà pour cette astuce assez complète, en espérant qu'elle ait été la plus instructive possible. Merci à timeolux pour la base de l'astuce et à la team Gunivers pour le système d'ID (disponible dans leur datapack)
Cette astuce Minecraft a été posté par timeolux dans la catégorie Commandes le 23/04/2018 à 21h33. .

Validé par Z_runner. Dernière modification par Tronics le 28/06/2018 à 5:23.
Partager :
Commentaires de l'astuce Minecraft
EnderFlèches (solo et multi) :
le 08/07/2018 à 11:49
bon bha go 2h pour comprend + le faire =p
DataMakerPack (anonyme)
le 08/07/2018 à 12:07
Bonjour, je reviens sur FR-Minecraft, bravo pour le site re-fait.
En suite bravo pour les petits carrés gris autour des mots clef ! Vraiment pratique pour afficher vos fiches.

Article interessant. Mais pas tres intuitif, le titre n'est pas très explicite ( pas d'images ou GIF de démonstration).
On sent que cela est fait par un pro qui ne pense plus au " petit joueur débutant ".

Sur la fin je ne sais pas si cela est un oublie mais l'auteur se cite lui meme dans l'article alors que son nom apparait en fin, vive les chevilles.
Il y a aussi une redirection vers un site un peu douteux. Si Fr-Minecraft est devenu un blog d'auto promotion cela est dommage. Ceci reste une commande basique on ne peut lui attribuer un "createur ou auteur".
redstonoob (anonyme)
le 08/07/2018 à 13:08
Ya pas moyen de faire une commande qui lie la flèche au tireur directement ou de prendre en compte l'arc qui tire la flèche (et donc celui qui porte l'arc)?
NBT (anonyme)
le 08/07/2018 à 14:52
Je n'était pas au courant qu'on pouvait faire des selecteurs nbt, c'est juste énorme ça va ouvrir les possibilité à l'infini, vraiment.
Tronics (administrateur)
le 08/07/2018 à 15:29
@NBT: Mince j'avais pas vu que c'était une astuce 1.13, normallement je publie pas ce genre d'article tant que la version n'est pas sortie en release :-( Car en effet, en 1.12 ça marche pas.
le 08/07/2018 à 19:02
@DataMakerPack : bah déjà, comment aurais-tu voulu montrer en image une téléportation? ^^'
pour l'auteur qui se cite à la fin, cela peut être une modif' de la part de Tronic ou autre aussi!

et sinon, de qu'elle "redirection" parle-tu? je ne vois aucun lien chelou sur le site...
franswa (modérateur)
le 08/07/2018 à 22:13
@tronics le plus gros problème n'est pas tant que la news exploite la 1.13, c'est surtout qu'elle a été écrite en avril, quand on était encore en snapshot, et qu'il y a un risque non négligeable que des choses aient changées entre temps. Après, si l'astuce avait été écrite hier et testée sur la dernière prerelease, elle n'a aucune raison de ne plus fonctionner en 1.13, même si pour les ressource pack, on a un beau contre exemple sur les packs qui fournissaient des polices de caractere sur sprite qui sont complètement cassés.
Z_runner (rédacteur)
le 08/07/2018 à 22:59
Elle a été écrite en 1.12, je l'ai modifiée pour qu'elle soit en 1.13. C'est vrai que le changement de version n'ayant pas encore été effectué, j'aurais dû le mettre dans le titre.
Pour ce qui est du dernier paragraphe, je ne fais qu'attribuer à chaque personne sa part de participation. Étant donné qu'elle a été largement modifiée par mes soins, je préfère dire quelle partie vient de qui. Et @DataMakerPack remarquera que je ne dis nul part que Gunivers a créé ce système, je cite juste cette équipe parce qu'elle m'a montré cette astuce, c’est tout. Je vois mal le rapport avec l'auto-promotion, mais si quelqu'un veut en discuter je l'attends sur le forum !
Dummy (anonyme)
le 10/07/2018 à 20:30
Quelqu'un pourrais me dire à quoi sert le ''1b'' et le mot ''Dummy'' s'il vous plait? Merci d'avance à lui qui me répondras :)
Z_runner (rédacteur)
le 11/07/2018 à 18:38
1b veut dire que le paramètre est activé, c'est à dire ici que la flèche est bien dans un bloc (le paramètre OnGround). Et Dummy est juste un mot clé qui permet de générer un score manuel, contrairement aux autres scores qui peuvent être liés à des statistiques et donc modifiés automatiquement par le jeu
Dummy (anonyme)
le 14/07/2018 à 04:51
D'acc Merci :)

Vous devez être connecté pour laisser un commentaire.