CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Minecraft
  • Tout support
  • PC
  • Xbox Series
  • Switch
  • Switch 2
  • PS4
  • ONE
  • WiiU
  • PS3
  • 360
  • Vita
  • iOS
  • Android
  • Web
  • New 3DS
Forum
  • Accueil
  • Actus
  • Tests
  • Vidéos
  • Images
  • Soluces
  • Forum
Liste des sujets

[Command Block] Besoin d'aide

Darkcreeper
Darkcreeper
Niveau 8
21 septembre 2016 à 10:03:54

Bonjour. Alors je vais expliquer dans les grandes lignes mes problèmes.
Je veux faire en sorte qu'un zombie puisse creuser dans la roche quand il se déplace.Un tunnel de 1x2, comme quand on mine. Je veux aussi que l'effet du bloc cassé se fasse quand il "mine". Enfin, serait-ce possible qu'il puisse "stocker" les items récolté?

Le tout avec les commands blocs. Merci de m'aider pour ceux qui s'y connaissent. ;)

Reysept
Reysept
Niveau 10
21 septembre 2016 à 16:20:17

T'en demande beaucoup. :hap:

Elmohe
Elmohe
Niveau 9
21 septembre 2016 à 17:30:16

Le 21 septembre 2016 à 16:20:17 Reysept a écrit :
T'en demande beaucoup. :hap:

Oui, mais c'est possible.
:pave:
Alors monsieur l'auteur. Tout d'abord je te conseille de te renseigner sur les commandes et command blocks, une fois calé tu sauras tout faire. Voilà ce que j'aurais fait, après peut-être que ça ne marche pas.

D'abord tu crées un Zombie avec un Tag. Si tu es en 1.8 ou avant tu auras du mal à le faire, au pire tu peux toujours le renommer, mais cette technique marche en 1.9 et plus.
/summon Zombie ~ ~ ~ {Tags:["zombiemineur"]}
Cette commande créera le zombie, tu peux lui rajouter d'autres NBT si tu veux.
Ensuite, tu poses un command block en mode répétition, et Toujours actif.
Dedans tu rentres la commande :
/execute @e[tag=zombiemineur] ~ ~ ~ fill ~1 ~ ~ ~1 ~1 ~ air 0 destroy
Cette commande aura pour effet que le zombie détruise toujours les deux blocs devant lui en air en mode destroy (donc fait l'animation).
Note : ce sera toujours les deux blocs dans la direction Positive X, si tu veux positive Z ou negative X ou quoi que ce soit tu changes dans la commande fill.
Ensuite, je pense que tu ne veux pas que le Zombie puisse se tourner. Alors tu mets un autre command block en mode Répétition avec Toujours actif et tu rentres cette commande :
/tp @e[tag=zombiemineur] ~ ~ ~ -90 0
Bien sûr si tu veux pas qu'il aille dans la direction Positive X encore une fois il va falloir changer les deux dernières valeurs.
Maintenant, plus qu'à forcer le zombie à avancer et à stocker les items.
Pour le faire avancer, c'est assez simple :
Tu poses un command block en mode répétition et toujours actif, puis tu rentres la commande suivante :
/tp @e[tag=zombiemineur] ~0.01 ~ ~
Bien sûr tu peux changer la vitesse en augmentant la valeur 0.01.
Il y a une autre technique pour le faire avancer :
Tu invoques des villageois et tu les tues juste après. Problème on entend le son (remarque qu'on peut le désactiver avec le tag Silent), on voit leur cadavre tomber et c'est assez difficile à mettre en place, et surtout instable.

On y est presque, il ne manque plus qu'à stocker les items, et c'est la partie la plus compliquée :hap: !
Pour ça, j'ai une une idée : on va mettre un Minecart avec un entonnoir dedans pour qu'il puisse aspirer les items !
Tout d'abord, il faut créer le minecart :
/summon MinecartHopper ~ ~ ~ {Tags:["minecarthopper"],Invulnerable:1b}
Malheureusement, on ne peux pas rendre un Minecart invisible. Par contre, on peut le téléporter 1 bloc en dessous du Zombie, et il ne se verra presque pas !
Encore une fois, tu poses un command block répétition toujours actif et tu y rentres la commande :
/tp @e[tag=minecarthopper] @e[tag=zombiemineur]
Cela aura pour effet de téléporter constamment le minecart au zombie.
Malheureusement, il se voit. Rajoute donc dans un autre command block répétition toujours actif :
/tp @e[tag=minecarthopper] ~ ~-1 ~
On profite de la propriété des minecart hopper de pouvoir aspirer les blocs d'assez loin, et même s'il se voit encore trop, tu peux changer le -1 en -2, ça devrait aussi marcher mais c'est déconseillé parce que je ne l'ai pas testé.

Maintenant, pour pouvoir récupérer les objets du Minecart, tu peux toujours le mettre en pause un moment (tu changes le command block qui le fait avancer en mode "Nécessite de la Redstone" au lieu de "Toujours actif" et tu alimentes ce command block en redstone lorsque tu veux qu'il avance) et récupérer ce qu'il y a dans le Minecart hopper, je rappelle qu'il n'y a que 5 slots dans ce minecart hopper, mais tu peux quand même y caser la stone, la diorite, l'andésite, le granite, un minerai, et la dirt si tu n'as pas de chance, si tu as de la chance tu peux caser jusqu'à 4 minerais et de la stone, ce qui est déjà suffisant. Sinon tu peux très bien choisir les items qu'il récupérera en en mettant un exemplaire de chaque dans le hopper.
Si tu ne veux pas mettre le Zombie en pause et transférer tous les items de ce hopper vers un coffre par exemple, ce sera beaucoup plus difficile, quoi que faisable :
Tu mets temporairement le Zombie en pause, tu téléportes ce minecart au dessus d'un hopper qui est au dessus d'un coffre, et tu retéléportes le minecart au zombie, puis réactive le zombie. Tout ça est faisable en quelques ticks, si tu veux tout vider il faudra compter 64*5 ticks soit 320 ticks, 32 secondes.

Voilà, tu as ton zombie mineur, maintenant si tu veux lui faire faire une animation pour qu'il marche comme Steve, c'est beaucoup plus compliqué, même si c'est possible mais c'est déjà bien.

Message édité le 21 septembre 2016 à 17:34:05 par Elmohe
Elmohe
Elmohe
Niveau 9
21 septembre 2016 à 17:39:06

Bon. J'ai testé tout ça, et ça marche. On a accès assez difficilement au minecart mais c'est faisable.
J'ai remarqué que sa direction buggait un peu par moments, je ne sait pas trop pourquoi. Je pense qu'il est possible de lui rajouter un effet de slowness persistant pour pas qu'il ne se déplace de lui-même :
/effect @e[tag=zombiemineur] minecraft:slowness 1000000 255 true

Darkcreeper
Darkcreeper
Niveau 8
21 septembre 2016 à 21:40:20

Merci infiniment ça marche super bien ^^ pour le déplacement du zombie je me suis arrangé.
Chapeau!

Darkcreeper
Darkcreeper
Niveau 8
21 septembre 2016 à 21:45:59

J'aurais une dernière question.
En fair, en utilisant un système de tp, j'arrive à faire bouger le zombie à l'aide de plaque de pression. Exemple si je vais sur celle ddevant moi, le zombie avance. Si je vais sur ma gauche, il va a gauche, etc...
Maintenant, j voudrais avoir son point de vue tout en bougeant pour le diriger. Je sais que gamemode 3 peut donner le point de vue du mob, mais on doit quitter là où on est, et je ne le controle plus.
Une solution?

Elmohe
Elmohe
Niveau 9
21 septembre 2016 à 22:55:11

De rien ahah :)
Pour le point de vue je te conseille d'utiliser un ArmorStand :
D'abord tu l'invoques avec :
/summon ArmorStand ~ ~ ~ {Tags:["controle"],Invisible:1,NoGravity:1}
Ensuite, tu mets ces commandes dans des command blocks à répétition :
/tp @e[tag=zombiemineur] @e[tag=controle]
/tp @e[tag=controle] @p

Au final je me dis que tu n'es pas obligé d'utiliser un ArmorStand, mais ce qui est bien c'est que tu peux le désactiver sans utiliser de scoreboard :
/entitydata @e[tag=controle] {Tags:[]}
Pour lui retirer et :
/execute @e[tag=zombiemineur] ~ ~ ~ entitydata @e[type=ArmorStand,r=1] {Tags:[controle]}
Pour lui remettre.
Je ne peux pas tester maintenant mais je crois que ça retire le tag, et donc te libère du tp. Le problème est que tu vois dans la tête du Zombie donc tu peux toujours lui appliquer un effet d'invisibilité lorsque tu es en mode "Contrôle" :
/effect @e[tag=zombiemineur] minecraft:invisibility 1000000 255 true
Pour lui appliquer l'effet et
/effect @e[tag=zombiemineur] minecraft:invisibility 0
Pour lui retirer.
Voilà voilà :D !

Darkcreeper
Darkcreeper
Niveau 8
22 septembre 2016 à 00:00:18

J'applique ces conseils demain. C'est vraiment super ton aide. On verra le resultat final, mais normalement cela me me tp pas ailleurs, et donc je pourrais encore controler mon zombie, en théorie?

Elmohe
Elmohe
Niveau 9
22 septembre 2016 à 00:29:31

Oui en théorie ça marche ;) Je te conseille de bidouiller en t'entraînant parfois à faire des trucs simples, utilise les scoreboards et les tags à ton avantage, si tu as besoin d'entités tu as les ArmorStand et pour toute variable les scoreboards... Bref c'est vraiment bien foutu les command blocks seule l'imagination est la limite ;D

Darkcreeper
Darkcreeper
Niveau 8
22 septembre 2016 à 07:15:14

Ok, merci.
Dernière chose (encore). Je pourrais lier un objet à une commande? Genre en faisant clique droit avec un objet j'ai le ppont de vue du zombie, et un autre click, ça annule?

Elmohe
Elmohe
Niveau 9
22 septembre 2016 à 09:45:57

Alors ça dépend de l'item. Pour que Minecraft le détecte il faut que ton item ait une interaction de clic droit. Par exemole un bouclier une armure une canne â pêche...
Tout dépend de l'item à utiliser.
-Une armure (exemple un chapeau en cuir) :
/testfor @p {Inventory:{}}
Je ne me souviens plus de comment on utilise le tag Inventory mais en cherchant sur Internet tu trouveras très vite, il y a une sous partie par slot donc tu peux vérifier quel item est dans quel slot à tout moment en l'ocurrence un leather_cap dans le slot.head.
Tu mets un comparateur en sortie et tada, dès qu'il est allumé c'est que le joueur a clic droit ! (Oublie pas de lui enlever le casque et lui remettre dans la barre d'inventaire après)

-Tu peux aussi utiliser une canne à pêche mais je suis pas sûr à 100% que ça marche :
/testfor @e[type=unknown]
En fait le hameçon de la canne est une entité à part entière donc tu peux vérifier si cette entité existe. Après peut-être que depuis la 1.9 l'entité a été renommée, je ne sais pas...

-Sinon tu peux aussi utiliser les scoreboards et c'est hyper puissant :
Si tu entres dans le chat ceci
/scoreboard objectives add clicdroit
Et que tu appuies sur TAB, tu auras une énorme liste de toutes les stats que le jeu enregistre en permanence !
Par exemple si tu fais
/scoreboard objectives add sneak stat.sneakOneCm
Tu auras un score équivalent à la distance parcourue en sneak ! Ce qui est bien c'est que tu peux remettre cette valeur à 0 comme avec un vulgaire objectif :
/scoreboard players set @a sneak 0
Je ne connais pas toute la liste, mais en cherchant un peu tu trouveras forcément ton bonheur :D

D'ailleurs si tu veux un item spécifique pour ta map (je sais pas une tête de zombie pour aller sur le zombie), tu peux toujours mettre un texture pack intégré à ta map, et tu remplaces la texture de l'item utilisé par la texture voulue ^^ !

Voilà j'espère t'avoir aidé là je suis sur mon téléphone donc je peux rien tester mais normalement tout marche ^^

Elmohe
Elmohe
Niveau 9
22 septembre 2016 à 09:48:12

Oups j'ai oublié le plus intéressant.
Tu peux associer un slot de ta barre d'inventaire à une commande :
/testfor @p {SelectedItemSlot:0}
Regardera si tu es en train de sélectionner le premier slot de ta barre, tu coup tu peux faire un truc plus simple après c'est assez énervant si tu bouges beaucoup les slots ou que tu dois utiliser des items mais sinon c'est assez cool en général :)

Darkcreeper
Darkcreeper
Niveau 8
22 septembre 2016 à 10:10:05

J'essaye ça ce soir. Merci! ;)

Elmohe
Elmohe
Niveau 9
22 septembre 2016 à 10:19:52

De rien ça fait plaisir ahah :D

Darkcreeper
Darkcreeper
Niveau 8
22 septembre 2016 à 19:54:35

"Au final je me dis que tu n'es pas obligé d'utiliser un ArmorStand, mais ce qui est bien c'est que tu peux le désactiver sans utiliser de scoreboard :
/entitydata @e[tag=controle] {Tags:[]}
Pour lui retirer et :
/execute @e[tag=zombiemineur] ~ ~ ~ entitydata @e[type=ArmorStand,r=1] {Tags:[controle]}
Pour lui remettre."

Le problème, c'est que (je viens de tester) quand je fais apparaître l'armorstand, il me rejoint où que j'aille. Quand je fais la commande pour retirer, il devient immobile. Mais la commande pour l'activer ne fait rien.

Elmohe
Elmohe
Niveau 9
22 septembre 2016 à 20:27:05

Ah oui, en fait j'ai oublié que l'armorstand te suivait partout, en fait j'ai fait en sorte que la commande pour le réactiver se fasse depuis le Zombie, comme ça on est sûr de n'affecter que cet ArmorStand, si tu n'utilises qu'un armorstand ou que tu t'en fiches un peu des tags tu peux remplacer la commande qui remet le tag par
/entitydata @e[type=ArmorStand] {Tags:["controle"]}
normalement ça devrait marcher :ok:

Darkcreeper
Darkcreeper
Niveau 8
22 septembre 2016 à 22:01:59

ok je vais teste

Darkcreeper
Darkcreeper
Niveau 8
22 septembre 2016 à 22:17:08

J'ai beau tester tout ce qu'il fallait faire, essayer des trucs aussi, mais... Hormis le fait que l'armorstand me suit toujours, et ne va pas au zombie, et que je n'ai toujours pas le point de vue du zombie...

Elmohe
Elmohe
Niveau 9
22 septembre 2016 à 22:20:03

Oulàlà... Tu les as mis en "Nécessite de la redstone"?

Darkcreeper
Darkcreeper
Niveau 8
22 septembre 2016 à 22:46:53

Ouais, j'active ça avec un bouton.
J'explique. J'ai fais les deux command block en répétition (alimenté au block de redstone) comme tu me l'as dis, et j'ai fais 3 command block impulsion. Deux d'entre eux sont pour ajouter et retirer le "point de vue". Le dernier invoque l'ArmorStand. Mais dès que je l'invoque, même si le zombie à été invoqué avant, il se tp à moi. Les commands blocks pour retirer er ajouter désactive puis réactive le tp de l'armorstand à moi.

Sous forums
  • Recherche de joueurs et serveurs PC/Consoles
La vidéo du moment