Avez-vous déjà joué à un jeu où l'on pouvait pousser des caisses afin de débloquer des passages secret en les mettant sur une plaque de pression ou des blocs de couleur ? Et aussi comment réaliser un escaliers avec plusieurs caisses ?
Ce que je vous propose sur ce tutorial, c'est de savoir comment pousser une caisse ou deux caisses (empiler l'un sur l'autre) afin de réaliser plusieurs petits jeux.
Je vous mais les couleurs correspondant au type de command_block :
repeating_command_block
chain_command_block
command_block
Et je vous mettrai un dièse (#) pour indiquer lorsque le command_block est en inconditionnel.
Puis les explications viendront ensuite.
ATTENTION : j'ai remplacer "planks" par "blanks" pour éviter les emoji : ( : p )
En toute première information, il faut savoir que l'on doit déplacer les caisses dans toute les directions (Nord/Sud/Est/Ouest soit x et z en valeur positif et négatif). Dans les commandes que je présenterai ci-dessous, je mettrai les valeurs dans la direction du z positif (normalement le Nord).
Commandes pour une caisse :
Tout d'abord créez un scoreboard pour différencier les joueurs qui peuvent pousser les caisses ou qui se trouve dans une zone où se trouve des caisses.
- /execute @a[score_VotreObjectif_min=1] ~ ~ ~ detect ~(x/-x) ~ ~0.4(z/-z) planks 3 /execute @p ~ ~ ~ detect ~(x/-x) ~ ~2(z/-z) air 0 /summon falling_block ~ ~0.1 ~2 {Blocklanks,Data:3,Time:1,DropItem:0}
Sur cette commande, on veut savoir si :
- le joueur à un score de 1 à votre scoreboard choisi.
- le joueur se trouve à 0.4 blocs d'une planche d'acacia (planks 3) pour qu'il soit bien devant la "caisse".
- il y a aucun bloc derrière cette planche/caisse pour savoir si l'on peut la "pousser".
Si ces conditions sont respectés, alors on place le même type de planche derrière celle que l'on est censé "pousser", sous la forme d'une entité étant le FallingSand à 0.1 bloc de hauteur. On invoque un FallingSand car si vous êtes en hauteur cela permet de faire tomber la caisse et si il apparait à 0 bloc du sol alors il risque de ne pas avoir de bloc au final. C'est pour cela qu'il faut que l'entité ai de la gravité, sinon on aurait utilisé un /setblock.
Pendant que le bloc se place, on supprime celui qui se trouve devant nous.
- # /execute @a[score_VotreObjectif_min=1] ~ ~ ~ /setblock ~(x/-x) ~ ~1(z/-z) air 0
Et enfin, on supprime la planche devant le joueur. Et au final, vous venez de simuler l'action de "pousser une caisse" .
Commandes pour deux caisses :
Ici nous avons donc le même système mais pour deux planches l'un sur l'autre. Donc on doit vérifié plus de conditions que lorsque que l'on pousse une caisse : si les caisses on la place pour être pousser, si le joueur se trouve devant celle-ci...
- /execute @a[score_VotreObjectif_min=1] ~ ~ ~ detect ~(x/-x) ~ ~0.4(z/-z) planks 3 /execute @p ~ ~ ~ detect ~(x/-x) ~ ~2(z/-z) air 0 /execute @p ~ ~ ~ detect ~(x/-x) ~1 ~0.4(z/-z) planks 3 /execute @p ~ ~ ~ detect ~(x/-x) ~1 ~2(z/-z) air 0 /summon falling_block ~ ~0.1 ~2 {Block:blanks,Data:3,Time:1,DropItem:0,Passengers:[{id:"falling_block",Block:blanks,Data:3,Time:1,DropItem:0}]}
- # /execute @a[score_VotreObjectif_min=1] ~(x/-x) ~ ~2.5(z/-z) /testfor @e[type=falling_block,r=1]
- # /execute @a[score_VotreObjectif_min=1] ~ ~ ~ /fill ~ ~ ~1 ~ ~1 ~1 air 0
- En rappel, pour bien simuler l'action de "pousser une caisse" alors il faut faire une série de command_block pour les 4 directions (Nord/Sud/Est/Ouest), et c'est pour ça que dans les commandes que vous avez vu au-dessus je mets : (x/-x) et (z/-z) car les chiffres que vous voyez dans les coordonnées Z doivent être aussi préciser en X et également dans le négatifs sinon vous ne pourrez pas pousser de caisses dans toutes les directions. C'est-à-dire qu'il va vous falloir 4 série de command_block pour pousser une caisse.
Aux nombres de joueurs :
- Je n'ai pas vraiment essayé cette méthode avec plusieurs joueurs mais si vous pensez qu'il est mieux de n'avoir qu'un seul joueur alors pensez à mettre un scoreboard. Il y a énormément de façon pour pouvoir mettre un score au joueur. Vous pouvez tous simplement le faire avec un bouton.
- /scoreboard objectives add Caisse_Zone1 dummy
Derrière le bouton :
- /scoreboard players set @a Caisse_Zone1 0
- /scoreboard players set @p Caisse_Zone1 1
Création simple mais embêtant lors de la présence d'un troll...
Visionner ce système en cliquant ici. (tutorial en vidéo)
Vous pouvez aussi rejoindre MysteryCraft pour essayer se système dans mes donjons :
Ce que je vous propose sur ce tutorial, c'est de savoir comment pousser une caisse ou deux caisses (empiler l'un sur l'autre) afin de réaliser plusieurs petits jeux.
Je vous mais les couleurs correspondant au type de command_block :
repeating_command_block
chain_command_block
command_block
Et je vous mettrai un dièse (#) pour indiquer lorsque le command_block est en inconditionnel.
Puis les explications viendront ensuite.
ATTENTION : j'ai remplacer "planks" par "blanks" pour éviter les emoji : ( : p )
En toute première information, il faut savoir que l'on doit déplacer les caisses dans toute les directions (Nord/Sud/Est/Ouest soit x et z en valeur positif et négatif). Dans les commandes que je présenterai ci-dessous, je mettrai les valeurs dans la direction du z positif (normalement le Nord).
Commandes pour une caisse :
Tout d'abord créez un scoreboard pour différencier les joueurs qui peuvent pousser les caisses ou qui se trouve dans une zone où se trouve des caisses.
- /execute @a[score_VotreObjectif_min=1] ~ ~ ~ detect ~(x/-x) ~ ~0.4(z/-z) planks 3 /execute @p ~ ~ ~ detect ~(x/-x) ~ ~2(z/-z) air 0 /summon falling_block ~ ~0.1 ~2 {Blocklanks,Data:3,Time:1,DropItem:0}
Sur cette commande, on veut savoir si :
- le joueur à un score de 1 à votre scoreboard choisi.
- le joueur se trouve à 0.4 blocs d'une planche d'acacia (planks 3) pour qu'il soit bien devant la "caisse".
- il y a aucun bloc derrière cette planche/caisse pour savoir si l'on peut la "pousser".
Si ces conditions sont respectés, alors on place le même type de planche derrière celle que l'on est censé "pousser", sous la forme d'une entité étant le FallingSand à 0.1 bloc de hauteur. On invoque un FallingSand car si vous êtes en hauteur cela permet de faire tomber la caisse et si il apparait à 0 bloc du sol alors il risque de ne pas avoir de bloc au final. C'est pour cela qu'il faut que l'entité ai de la gravité, sinon on aurait utilisé un /setblock.
Pendant que le bloc se place, on supprime celui qui se trouve devant nous.
- # /execute @a[score_VotreObjectif_min=1] ~ ~ ~ /setblock ~(x/-x) ~ ~1(z/-z) air 0
Et enfin, on supprime la planche devant le joueur. Et au final, vous venez de simuler l'action de "pousser une caisse" .
Commandes pour deux caisses :
Ici nous avons donc le même système mais pour deux planches l'un sur l'autre. Donc on doit vérifié plus de conditions que lorsque que l'on pousse une caisse : si les caisses on la place pour être pousser, si le joueur se trouve devant celle-ci...
- /execute @a[score_VotreObjectif_min=1] ~ ~ ~ detect ~(x/-x) ~ ~0.4(z/-z) planks 3 /execute @p ~ ~ ~ detect ~(x/-x) ~ ~2(z/-z) air 0 /execute @p ~ ~ ~ detect ~(x/-x) ~1 ~0.4(z/-z) planks 3 /execute @p ~ ~ ~ detect ~(x/-x) ~1 ~2(z/-z) air 0 /summon falling_block ~ ~0.1 ~2 {Block:blanks,Data:3,Time:1,DropItem:0,Passengers:[{id:"falling_block",Block:blanks,Data:3,Time:1,DropItem:0}]}
- # /execute @a[score_VotreObjectif_min=1] ~(x/-x) ~ ~2.5(z/-z) /testfor @e[type=falling_block,r=1]
- # /execute @a[score_VotreObjectif_min=1] ~ ~ ~ /fill ~ ~ ~1 ~ ~1 ~1 air 0
ATTENTION :
Aux directions :- En rappel, pour bien simuler l'action de "pousser une caisse" alors il faut faire une série de command_block pour les 4 directions (Nord/Sud/Est/Ouest), et c'est pour ça que dans les commandes que vous avez vu au-dessus je mets : (x/-x) et (z/-z) car les chiffres que vous voyez dans les coordonnées Z doivent être aussi préciser en X et également dans le négatifs sinon vous ne pourrez pas pousser de caisses dans toutes les directions. C'est-à-dire qu'il va vous falloir 4 série de command_block pour pousser une caisse.
Aux nombres de joueurs :
- Je n'ai pas vraiment essayé cette méthode avec plusieurs joueurs mais si vous pensez qu'il est mieux de n'avoir qu'un seul joueur alors pensez à mettre un scoreboard. Il y a énormément de façon pour pouvoir mettre un score au joueur. Vous pouvez tous simplement le faire avec un bouton.
- /scoreboard objectives add Caisse_Zone1 dummy
Derrière le bouton :
- /scoreboard players set @a Caisse_Zone1 0
- /scoreboard players set @p Caisse_Zone1 1
Création simple mais embêtant lors de la présence d'un troll...
Visionner ce système en cliquant ici. (tutorial en vidéo)
Vous pouvez aussi rejoindre MysteryCraft pour essayer se système dans mes donjons :
IP : mysterycraft.omgcraft.fr
Dernière édition: