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

  • 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 Aug 6 '16 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 Aug 6 '16 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 Aug 6 '16 at 14:38
  • Passive-aggressive wasn't my goal. fixed. – Numailia Aug 8 '16 at 0:50
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.

  • 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 Aug 6 '16 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 Aug 6 '16 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 Aug 8 '16 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 Aug 8 '16 at 3:00
  • 1.13 syntax: /execute if block ~1 ~ ~ chain_command_block{SuccessCount:1} – pppery 2 days ago
-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.

  • 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 Aug 6 '16 at 15:11
  • Really? I thought repeat blocks run a little faster than once/tick. – Numailia Aug 8 '16 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 Aug 8 '16 at 5:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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