4

As we all know, you can't bend a chain of conditional command blocks. Many people have had problems with this and I'm perfectly aware of why it doesn't work by just, placing the blocks in a different pattern.

However, I know it's possible. Whether through some /stats command or testing for a SuccessCount tag at the bend (not too sure on how either of these work as I've never had to use them)... What's the most simple way of doing this?

Edit:

This is what I've tried so far.

A failure.

So, 1 won't execute even though it's being "powered" by the block next to it in the chain, because there's nothing behind it to provide check for a successful execution.

3 won't execute despite having what 1 lacks, because nothing's "triggering" it. (I tried to put a repeat block in the empty spot of 2 to power 3 but of course that gets rerouted by the block between 2 and 3.)

What I was considering was having a repeat block in place of 4 testing if the block between 2 and 3 is successful, then having that block trigger 1 and having the met condition come from 4. But I suppose there's a more simple way of doing it, with less command blocks (after all you would have to reset the SuccessCount after every execution, right?).

So, I hope that's enough effort and whatever for you people, I expect to see this question at the top of Google later. Thank you! :D

4
  • Downvotes are not personal. You are free to take them that way, but that's not what they're for, and never have been.
    – Frank
    Commented Aug 6, 2016 at 14:28
  • Objectively I was lacking information, effort, and some other stuff on the "how to ask a question" list though, so I thought I'd add to the question anyway. :L
    – Numailia
    Commented Aug 6, 2016 at 14:32
  • 2
    Yes, you were. Your edit improves things, but the passive aggressive part about downvotes has no real relevance to your question, and doesn't belong. One thing you'll find out is that complaining about downvotes generally makes more happen. I'd recommend removing everything that's not actually about the question out of it.
    – Frank
    Commented Aug 6, 2016 at 14:38
  • Passive-aggressive wasn't my goal. fixed.
    – Numailia
    Commented Aug 8, 2016 at 0:50

2 Answers 2

3

For simplicity and speed, I'd do it something like this:

Conditional chain bend 1

The unconditional blocks outlined in red can be left blank, and are just there to continue on the chain. The next block still depends conditionally on the previous conditional block.


Alternatively, for one less command block, you can do:

Conditional chain bend 2

In which the blue outlined block has the command:

/testforblock ~1 ~ ~ chain_command_block -1 {SuccessCount:1}

Replacing ~1 ~ ~ with the offset for the previous block in the chain.

5
  • Doesn't SuccessCount go up by 1 every time the command is executed successfully though? I wouldn't know, but judging by "success count"...
    – Numailia
    Commented Aug 6, 2016 at 14:25
  • @Numailia SuccessCount is for the last time the command was activated. With testforblock, it'll only ever be 1 or 0.
    – SirBenet
    Commented Aug 6, 2016 at 15:08
  • 'Count' seems like an odd way of describing an attribute like that. But in the words of Notch, "You're messing with the game's code. It's supposed to work, not make sense"
    – Numailia
    Commented Aug 8, 2016 at 0:56
  • Assuming my method doesn't work at all (which it doesn't), this seems like the easiest way of doing it. Marking as best answer. Thank you!
    – Numailia
    Commented Aug 8, 2016 at 3:00
  • 1.13 syntax: /execute if block ~1 ~ ~ chain_command_block{SuccessCount:1}
    – pppery
    Commented Jul 16, 2019 at 13:07
-1

Oops, I forgot to mention that the first block in the chain is a repeat block. :P

Here's my solution:

Just have the first block going the other direction power itself.

Success

Thanks again, smart people.

3
  • I wouldn't recommend doing this. There'll be a one tick delay, the second chain will run 1 more time than the initial chain (which may cause you odd execution order problems), and I believe you'll run into problems if you attempt to bend the chain twice (the conditional repeat blocks won't stop unless the chain command block they're pointing out of runs and fails, so the extra chains may continue to be run even after the original chain has stopped).
    – SirBenet
    Commented Aug 6, 2016 at 15:11
  • Really? I thought repeat blocks run a little faster than once/tick.
    – Numailia
    Commented Aug 8, 2016 at 0:47
  • It's not the speed but rather how command blocks are queued and activated. Repeating blocks are all activated before any Chain blocks, meaning the sideways Repeating block is relying on what the Chain block did in the previous tick, as the Chain block hasn't activated yet.
    – Skylinerw
    Commented Aug 8, 2016 at 5:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.