CommandBlock Résolu "Bud" avec les command blocks

Daminator4113

Êtres humain (je crois)
15 Juin 2016
78
34
121
25
Ça va faire un petit moment déjà que j'ai remarqué cela s'en trop y prêter attention, mais c'est en faisant des tests et d'autres trucs que j'ai remarqué ces sortes de "bud" de command block.

En effet, on peut voir sur l'image ci-dessous un command block en mode répétition et activable par la redstone.
Le levier posé au dessus fournis le courant qui active le command block, donc logiquement, le comparateur s'active et fournis le courant pour l'autre command block (qui exécute la commande /say 1). On peut donc voir dans le tchat les deux commandes qui s'exécutent normalement.

2017-09-18_13.29.48.png


Mais là où se situe le problème, c'est quand je désactive le levier. Sur l'image ci-dessous, on voit bien que le levier est désactivé, or le comparateur est toujours actif, et fournis toujours le courant au second command block ! (on peut donc voir dans le tchat uniquement les 1).

2017-09-18_13.30.04.png


Et le problème vient bien du command block et non du comparateur, car même en cliquant sur le comparateur, celui-ci reste activé. Or si on actualise le command block (en cliquant sur terminer), le comparateur s'éteint.

Je voulais donc savoir si c'était bien une sorte de bug et si il y a un moyen de réglé ça ?
 
Bonjour,
Alors, je pense que tu as une mauvaise vision de la chose. Déjà, je pense que tu le sais, mais le comparateur renvoie true ou false par rapport à la réussite ou non de la commande, ici ta commande say ne sera jamais false( ou dans des cas EXTRÊMEMENT RARE) et ça se passe comme ça :
- levier activé
- CB1 s'exécute
- comparateur détecte un changement et passe en true et le reste
- CB2 s'exécute
- levier désactivé
- CB1 ne fais plus rien
- comparateur regarde la dernière commande, elle c'est bien exécuté ( car oui, ne pas exécuté une commande n'est pas raté), donc il garde true
- CB2 s'exécute

Donc pour toutes les commandes qui ne peuvent pas raté, il faut soit changé la commande pour passer en false ( je crois que ça marche), soit casser le commande block.

PS: l'absence de courant ne gène pas le comparateur ( regarde les conteneurs )
 
Dans ce cas, le fait que la commande puisse ou non être "false" n'a pas vraiment de rapport, car si je prend la commande testfor, qui peut être soit true ou false, ça fait pareil.

Après, comme tu dis: "comparateur regarde la dernière commande, elle c'est bien exécuté ( car oui, ne pas exécuté une commande n'est pas raté), donc il garde true", dans ce cas ça devient logique ^^

Malgré ça, j'ai trouver un moyen de contourner ce problème en changeant le type d'execution (dans mon cas), mais cela ne résout pas comment "actualisé" le command block sans avoir à le casser ou autre.
 
Tout est dit ci-dessus, le command-block sauvegarde en data à chaque activation la réussite de la commande ou non (ici, sous forme de boolean : 1 ou 0), si tu veux reset ce command-block, tu n'as d'autre choix de de modifier le tag SuccessCount et le mettre à 0 ;)
 
  • J'aime
Reactions: Daminator4113