>> 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 : Programmer un bateau volant


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

Nous allons animer un bateau afin qu'il nous transporte dans les airs, sur un trajet défini que vous pourrez programmer. (L'astuce a été testée en 1.14.2 ! Si vous rencontrez des problèmes dans des versions antérieures ou plus récentes merci de venir tester cette astuces en version 1.14.2)

Vous aurez besoin de <span style='color: #FF55FF; '>Command Block</span><br>blocs de commande et de Stone Button<br>boutons.

Pour obtenir un command block aisément, entrez la commande ci-dessous dans le tchat :
/give @s minecraft:command_block

Commencez par placer 2 blocs de commande à impulsion, puis une chaîne de commande :


Étape 1 - Création du bateau :

Dans le premier bloc de commande à impulsion (orange), nous allons entrer la commande suivante :

/execute unless entity @e[type=minecraft:armor_stand,name=Airship] run summon armor_stand ~ ~1 ~ {Marker:1b,Invulnerable:1b,Invisible:1b,Passengers:[{id:"minecraft:boat",Type:"spruce",CustomName:"{\"text\":\"Airship\"}"}],CustomName:"{\"text\":\"Airship\"}"}
Cela créera un porte-armure nommé "Airship" avec le tag marker, et chevauché par un bateau lui aussi nommé "Airship", tourné vers l'ouest. Cette commande s'activera seulement si il n'y a aucun autre porte-armure nommé Airship afin d'éviter que que plusieurs bateaux ne volent en même temps, ce qui fonctionne moins bien.

Étape 2 - Création d'un objectif :

Pour programmer le bateau, nous allons utiliser un objectif (scoreboard). Pour ce faire, nous allons entrer la commande suivante dans le tchat :

/scoreboard objectives add anim dummy
Cet objectif "anim" n'est modifiable que par des commandes.

Étape 3 - Assigner l'objectif au bateau :

Dans le deuxième bloc de commande à impulsion, nous allons executer cette commande :

/scoreboard players set @e[name=Airship,type=minecraft:armor_stand] anim 1
Elle ajoutera un score de 1 à notre porte-armure "Airship", ce qui permettra grâce au commandes suivantes de le déplacer selon nos envies.

Étape 4 - Augmenter le score à chaque tick :

Dans le premier commande de la chaîne, qui doit être un bloc de commande à répétition en mode inconditionnel et toujours, nous allons placer cette commande :

/scoreboard players add @e[name=Airship,type=minecraft:armor_stand,scores={anim=1..}] anim 1
A chaque tick de jeu, le score "anim" de notre porte-armure "Airship" s'incrémentera de 1 pour nous servir d'indicateur de temps, une fois que vous l'aurez mis en route (grâce au second bloc de commande à impulsion).

Étape 5 - Programmer le trajet du bateau :

Enfin la partie la plus intéressante : nous allons faire bouger notre porte-armure et donc notre bateau, en utilisant le /tp.
Entrons le texte suivant dans le 2ème bloc de commande de la chaîne, qui est un bloc de commande chaîne en mode inconditionnel et toujours actif.

/execute as @e[name=Airship,type=minecraft:armor_stand,limit=1,scores={anim=1..50}] at @s run tp @s ~-.5 ~.5 ~
Grace à cette commande, notre porte-armure bougera de -0.5 bloc vers l'ouest (soit 0.5 vers l'est) et 0.5 bloc vers le haut à chaque tick, tant que son score pour l'objectif "anim" est compris entre 1 et 50.

L'étape suivante permet de programmer la route de notre bateau : n'hésitez pas à rajouter plus de bloc de commande à la suite de celui-ci, en changeant la valeur du score pour modifier la durée du mouvement, et en changeant les valeurs du /tp pour accélérer ou changer la direction.
Vous pouvez donc rajouter un autre bloc de commande avec les mêmes réglages, avec par exemple la commande suivante :

/execute as @e[name=Airship,type=minecraft:armor_stand,limit=1,scores={anim=50..100}] at @s run tp @s ~.5 ~ ~.5 -45 0

Dernière étape - Destruction du bateau :

Une fois le trajet effectué, il nous faut détruire le bateau afin de relancer la première commande pour faire apparaître un autre bateau.
Rajoutez la commande suivante dans le dernier bloc de commande de la chaîne :

/execute if entity @e[name=Airship,type=minecraft:armor_stand,scores={anim=100..}] run kill @e[name=Airship]
Ici, le bateau et le porte-armure seront détruis lorsque le porte-armure atteindra un score de 100 pour l'objectif "anim".
(Insérez dans cette commande une valeur de score différent en fonction de la durée de votre trajet. Par exemple si la durée de votre trajet est de 0 à 506 ticks, alors vous remplacerez le 100 par 506, même si je conseil de laisser un petit délai de 20 à 40 ticks pour que cela ne soit pas trop violent.)

Et voilà ! Il ne nous reste plus qu'à prendre place dans le bateau invoqué et appuyer sur le bouton du deuxième bloc de commande pour le lancer !

Vous pourrez donc au final avoir un rendu comme celui-ci !


Informations supplémentaires :

1 - L'utilisation du porte-armure est ici nécessaire : bien que le tag motion s'applique aussi au bateau, l'utilisation de ce tag ne fonctionne plus sur le bateau si un joueur est dedans. Il faut donc utiliser un bateau qui sera le passenger d'un porte-armure et faire bouger ce dernier pour entraîner le bateau dans lequel un joueur se trouve.

2 - L'utilisation d'un scoreboard (objectif) vous facilite la tâche pour écrire ces commandes dans une fonction. On peut utiliser des blocs de commande à impulsion et des répéteurs de redstone à la place d'un scoreboard, simplifiant alors le système, mais prenant beaucoup plus de place (surtout si le trajet est long), et pouvant rendre le déplacement moins fluide.
Cette astuce Minecraft a été posté par Poloche dans la catégorie Commandes le 10/12/2018 à 17h09. .

Validé par SozoKa. Dernière modification par SozoKa le 11/06/2019 à 12:09.
Partager :
Commentaires de l'astuce Minecraft
Programmer un bateau volant :
loludo (anonyme)
le 17/09/2019 à 00:29
utile pour les "one ways doors" mais si on veut faire des trucs qui reviennes en arière après, il faudrait autre chose.
reddemoon (staff)
le 18/09/2019 à 16:05
Pour ça il suffit d'inverser le sens de déplacement du bateau en modifiant un peu les commandes ou en dupliquant le système si le modifier est trop difficile. :-)
En modifiant un peu plus, tu peux même lui faire faire demi-tour par exemple.
Polochon (anonyme)
le 20/09/2019 à 23:25
Tiens tiens, c'est étonnant, j'ai voulu poster cette astuce il y a deux ans et elle a été refusée. Je suis déconcerté : les noms de tag et de scoreboard sont exactement les mêmes que je proposais.
Notons tout de même que l'utilisation de la commande "/tp" est certes plus facile d'utilisation que le tag "motion" dans une commande "/data", mais qu'il a le désavantage de nous retirer du bateau lorsque nous sommes dedans. Utiliser le tag [motion] dans la commande "/data" sur le porte-armure permettra aux joueurs de rester dans le bateau ; vous pourrez ainsi créer de vrais transports volants sans mod...
Z_runner (rédacteur)
le 23/09/2019 à 21:32
@Polochon ton compte serait pas Poloche ? parce que si c'est le cas, c'est bien ton astuce que tu vois actuellement... et qui a été corrigée par SozoKa. Sinon, je n'ai trouvé aucune astuce similaire, ni avec comme auteur "Polochon", donc je n'ai aucune idée de quoi tu parles...

Et oui exact, le tag Motion est une piste à creuser ! Comme beaucoup de systèmes, il n'y a pas qu'une seule solution, et on trouvera toujours plus optimisé pour le faire !

Vous devez être connecté pour laisser un commentaire.