10

Whenever I show my command block contraptions to my friends, they always comment that I should remove the redstone dust from them. They say it causes lag and that redstone can be unpredictable, but I've never had a problem like that.

Even if I did, I would just slow down the clock I'm using a bit and add comparators or repeaters to get it to work. Besides, if I don't use redstone dust, how am I supposed to activate things like pistons and redstone lamps?

If I need redstone dust in order to make my command block contraptions work, why am I being told to get rid of it? What logical reason is there for this?

10

Your friends are right, redstone dust is evil and it should be avoided at all costs when making command block contraptions. Redstone dust does cause lag and it can be unpredictable. There's a nice blog post explaining why this is the case, but suffice it to say that pretty much every expert map maker limits their use of redstone dust to very specific edge cases, and it's never used on high frequency lines.

So, what should you be using instead? For a clock, use a 20Hz clock. Better yet, start using 1.9 and use repeating command blocks. For turning on a redstone device, use setblock to place a redstone block or torch at the activation point. This is especially useful for when your command blocks are far away from any redstone contraption (as they should be).

The only actual redstone that you should have in your command block contraption is redstone blocks (for activating the command blocks), comparators (for testing for a success on a command block, but even these aren't necessary; use the stats command instead), and on the extremely rare occasion, a repeater. Also, sometimes a button or switch, but that should be given. But that's for 1.8, and in 1.9, the entire command block game changes. 1.9 will allow you to remove even more redstone, to the point where you don't need any (not even a switch or button) to do something useful. Again, you'll need to be able to interface with redstone devices from time to time, but as I said above, that should be done with something like a setblock command.

In the end, you should do your best to keep your redstone stuff and your command block stuff separated. There was a time when this wasn't possible, but that was ages and ages ago, when the command block was first introduced. New commands made it possible to separate your redstone and command blocks, and with the new features in 1.9, this becomes even easier to do; you no longer need to think about how to build a 20Hz clock, execution order is trivialized to block placement, and conditional execution becomes built in. Redstone dust is great for making interesting contraptions in survival, but it has no place in your creative mode command blocks.


Minecraft v1.13 has changed the game again. Now, you don't even need command blocks in your world, you can use functions instead and tag them to run either every tick, or when the world loads. (Admittedly, some of this was available in earlier versions, but 1.13 was a major update to commands which made for a compelling reason to move as much as possible to functions.)

Command blocks will still be necessary in some very narrow circumstances (conditional execution in some cases is still difficult using just functions), but other than prototyping, I would recommend using functions instead of command blocks for most purposes. There's loads of reasons for doing this, but among the top reasons I see are:

  • Code reuse and deduplication
  • Maintainability
  • Ease of reading

Something to keep in mind, though, is that a number of commands have been removed/replaced in 1.13, such as the stats command mentioned above (the new version as part of the execute command is actually a lot easier and more intuitive now). The power of commands has grown substantially since the command block was introduced in 1.4, but redstone has only seen incremental improvements. Most of the improvements in redstone were with the addition of blocks aimed at eliminating the need for BUD switches (those blocks being daylight detector and observer blocks). Other than that, there isn't much in the way of new redstone, whereas commands have been evolving almost with every release.

  • Comparators are bad as well, replace comparators with the stats command – ModDL Sep 5 '15 at 17:09
  • You're absolutely right. I just haven't used stats enough for that to register with me yet. – MBraedley Sep 5 '15 at 17:13
  • I've heard anecdotal evidence that switching from redstone dust to fill clocks improved performance by 2 or 3 times. Beyond that, a redstone block will schedule exactly 6 block updates, and the order of those block updates are well defined, whereas a piece of redstone dust in a complex contraption can schedule dozens of block updates in a random order, and to blocks that are seemingly unrelated to that particular bit of redstone dust. It's these block updates that are causing the lag. – MBraedley Sep 5 '15 at 20:12
  • But a single piece of redstone dust can't power 22 commands. Even if it could, in the extreme, it can only power 2 command blocks on average: the one above it and the one below it. In fact, I don't even know how you're getting this 22 number. Also, you might be forgetting that each piece of redstone dust that receives a block update also propagates more of them. It gets nasty, quick. – MBraedley Sep 5 '15 at 21:05
  • 1
    Great and Underrated both Q and A, Thanks for keeping this up-to-date over the years as versions change. – Malco Sep 12 '18 at 18:49

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.