3 votes

Est-il possible de fabriquer une pioche dans Minecraft qui casse certains blocs à un certain endroit ?

Je fais une carte de parkour et la clôture de mon chantier est faite de barres de fer. Je veux faire une pioche que le joueur peut utiliser à l'intérieur du chantier mais ne peut pas briser la clôture. Je veux créer un obstacle à l'intérieur du chantier en barres de fer qui pourrait être brisé avec une pioche en fer qui peut briser les barres de fer à l'intérieur du chantier, mais pas à l'extérieur.

1voto

amosel Points 354

Ceci peut être fait avec 2 blocs de commande répétitifs. La première commande donne l'objet au joueur le plus proche :

give @p minecraft:iron_pickaxe{CanDestroy:["iron_bars"],tag:1}

La première commande ne s'exécute que si le joueur se trouve dans la zone dans laquelle la pioche doit fonctionner, c'est ce qui est déterminé dans les champs x=... y=... z=... ainsi que dx=... dy=... dz=...

x y z est le cordon et dx dy dz est la taille (x=10 et dx=2 mettrait le x de départ à 10 et la fin à 12). C'est la zone dans laquelle se trouve l'obstacle, ne la rendez pas trop petite pour que le joueur ait besoin de serrer les barres de fer pour les détruire, mais pas trop grande pour qu'il puisse atteindre les barres de fer indésirables.

La commande remplace l'objet tenu par le joueur seulement si l'objet est une pioche et a le tag tag:1 . Le tag est nécessaire pour que la commande ne donne pas continuellement une nouvelle pioche au joueur. Ensuite, la commande /replaceitem remplace l'objet tenu par une pioche qui peut briser les barres de fer.

Cette commande doit se trouver dans un bloc de commande répétitif :

execute if entity @a[x=-12,y=56,z=8,dx=-7,dy=1,dz=-2] as @a[nbt={SelectedItem:
{id:"minecraft:iron_pickaxe",tag:{tag:1}}}] if entity @s 
run replaceitem entity @s weapon.mainhand iron_pickaxe{CanDestroy:["iron_bars"]}

La commande suivante fait essentiellement tout le contraire de la première commande. Elle ne s'exécute que pour les joueurs qui ne sont pas dans la zone spécifiée (assurez-vous d'entrer les mêmes x y z et dx dy dz dans les deux commandes), elle teste ensuite la présence d'une pioche tenue qui peut briser les barres de fer et enfin elle exécute la commande /replaceitem et donne au joueur une pioche normale avec le tag tag:1 .

Celui-ci doit également être dans un bloc de commande répétitif :

execute unless entity @a[x=-12,y=56,z=8,dx=-7,dy=1,dz=-2] 
as @a[nbt={SelectedItem:{id:"minecraft:iron_pickaxe",tag:
{CanDestroy:["iron_bars"]}}}] if entity @s run replaceitem 
entity @s weapon.mainhand iron_pickaxe{tag:1}

Les commandes n'affectent pas un joueur qui n'a pas la pioche spéciale, vous pouvez donc en créer d'autres plus tard avec des balises différentes.

Remarque importante

/replaceitem sera supprimé en 1.17 et remplacé par /item . Toutefois, vous pouvez facilement passer à la nouvelle commande, au lieu de :

/replaceitem entity @s weapon.mainhand iron_pickaxe{tag:1}

il le sera :

/item entity @s weapon.mainhand replace iron_pickaxe{tag:1}

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X