Redstone basics: signal strength, power, ticks and why it is not working
The rules under every redstone circuit, in the order they usually trip people up. Each rule links to a circuit you can run and step through.
Signal strength
A redstone signal is a whole number from 0 to 15. Sources like levers, torches, buttons and redstone blocks give 15. Each block of dust the signal crosses subtracts one, so dust can carry a signal fifteen blocks; the sixteenth block reads zero. In the overhead view of Redstonery the number is printed on every dust, so you can read the strength anywhere on a line. See the dust line.
A comparator is the other way to get a number that is not 15. It reads how full a container is as a strength from 0 to 15 (the container reader), and in subtract mode it outputs the rear input minus the side input (comparator subtract).
Repeaters restore, comparators compare
A repeater takes any signal above zero on its input side and outputs a full 15 on its output side, after a delay of 2, 4, 6 or 8 game ticks. It only passes power one way, which also makes it the standard way to stop a signal flowing backward into a branch (isolated branches). A comparator passes the rear signal's strength, not 15, and only when the side input does not exceed it (threshold). People confuse the two constantly; the repeater and comparator circuits side by side settle it.
Strong and weak power
A solid block can be powered two ways, and it matters. Dust pointing into a block, or a repeater or comparator facing it, powers the block strongly: every neighbor of that block acts as if it were powered, dust next to it lights up, and a torch attached to it goes out. A lever or button on the block, or dust merely running past it, powers it weakly: adjacent lamps and pistons still respond, but a torch on the block stays lit and dust next to the block reads nothing. The power through a block circuit puts the two cases side by side.
One more rule people miss: dust never powers dust through a block. Two dust lines separated by a solid block are two separate circuits, however strongly the block is powered.
Getting a signal up and down
Dust connects diagonally up one block at a time as long as each step has a block under it and nothing solid blocks the corner, which is the dust staircase. Torches carry a signal straight up a column of blocks and invert it at every step, so an odd number of torches inverts the input and an even number restores it (torch tower). Going down is easier than up in Java: dust on top of a block powers the block, and a torch under that block reads it.
Ticks
Everything waits in game ticks, twenty to a second. A redstone tick is two game ticks. Repeaters wait 2 to 8, a torch flips after 2, a comparator after 2, a lamp turns off after 4, a stone button releases after 20, a hopper moves an item every 8. The full list with sources is on the timings page. When a circuit misbehaves, the cause is almost always two paths with different delays arriving in a different order than you assumed. Step it one tick at a time and watch the countdown rings.
Quasi-connectivity
Pistons, droppers and dispensers in Java also count as powered when the block above them is powered, even if nothing touches them, but they only notice on a block update. This is quasi-connectivity, and it is why a piston sometimes fires when you did not wire it and stays put when you did. It has its own page, and the piston door uses it on purpose.
Why is my redstone not working
- The torch on a block will not go out. The block is only weakly powered. Point dust into it or face a repeater at it. See strong and weak power.
- The signal stops partway along a line. Count the dust. Fifteen is the limit. Put a repeater in before the strength reaches zero.
- Two lines are supposed to be separate but they are not. Dust joins any dust next to it, including diagonally up and down. Space lines a block apart, or cross them at different heights (wire bridge).
- A piston fires when it should not. Something above it is powered. That is quasi-connectivity.
- A piston does not fire although the block above it is powered. Same rule: it needs a block update to notice. Place or break a block next to it and watch it move.
- The torch clock stopped. The torch burned out: more than eight changes in sixty ticks. Slow the loop with a repeater. It relights 160 ticks after the next update.
- A hopper does not move items. It is powered, which locks it, or it is not pointing at the container you think, or there is nothing directly above it to pull from.
- The lamp flickers when I place the circuit. A fresh torch notifies blocks two out before the dust settles. It flashes once and then behaves.