2 votes

Comment puis-je configurer un bloc de commande dans Minecraft 1.9 pour envoyer un signal de redstone chaque fois qu'il détecte un joueur sur un type de bloc spécifique ?

J'essaie de recréer une forme du jeu Runner dans un format spleef. En gros, je veux qu'un signal de redstone soit envoyé lorsque le joueur se trouve sur un bloc de neige afin de supprimer le bloc (le remplacer par de l'air en utilisant setblock) une ou deux secondes après. Comment pourrais-je réaliser cela ?

2voto

SirBenet Points 27779

En /execute vous permettra de détecter les blocs relatifs à un joueur. La syntaxe est la suivante :

/execute <entity> <x> <y> <z> <command>

Ainsi, vous pouvez exécuter ce qui suit dans le bloc de commande :

execute @p ~ ~ ~ testforblock ~ ~-1 ~ snow

Ce qui précède donnera un signal de redstone lorsqu'il trouvera avec succès un bloc de neige sous le joueur, ce qui est ce que votre question demande.

Cependant, l'utilisation de commandes testfor et de comparateurs pour quelque chose comme ça est généralement une mauvaise idée ; comment saurez-vous quel bloc supprimer 2 secondes plus tard lorsque le joueur s'en est éloigné, par exemple ? De plus, ce sera complètement incompatible avec le multijoueur.

Vous pouvez, à la place, utiliser l'option /execute de la commande detect qui vous permet de détecter un bloc à partir d'une entité, puis d'exécuter une commande à partir de la même entité si ce bloc a été trouvé. Vous pourriez utiliser cette commande pour supprimer le bloc qui a été trouvé, ou convoquer un stand de marqueurs pour le supprimer après un délai :

execute @a ~ ~ ~ detect ~ ~-1 ~ snow 0 summon ArmorStand ~ ~-1 ~ {Marker:1b,Invisible:1b,NoGravity:1b,Invulnerable:1b,CustomName:"BlockRemover"}

0voto

Mystery Points 397

/execute comporte un detect paramètre :

/execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:snow 0 /setblock ~ ~-1 ~ minecraft:air 0 Explication des paramètres :

@a : select all players

~ ~ ~ : execute at their position

detect : only execute if the following block is found

~ ~-1 ~ : check the block below the player

minecraft:snow 0 : check for snow with metadata = 0

/setblock ~ ~-1 ~ minecraft:air 0 : command to be executed by the player(sets the block below him to air)

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