Three-input majority
Choose high when at least two of three inputs are high.
Layout
How it works
On when at least two of three inputs agree on high. This is also the carry function of a full adder. The raised rails carry independent inputs into visible torch AND terms; repeaters isolate the output OR rails. Allow 60 game ticks for this teaching layout to settle.
- The pair conditions A AND B, A AND C, and B AND C are ORed together.
- Any two high inputs are enough, and three high inputs also produce a high output.
Truth table
Settled outputs after the inputs stop changing. 1 is on, 0 is off. Every row is checked in the simulator in all four rotations.
| A | B | C | at least two on |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 |
| 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 |
Inputs and outputs
- InputA (x 0, y 0, z 0)
- InputB (x 0, y 3, z 0)
- InputC (x 0, y 6, z 0)
- Outputat least two on (x 22, y 0, z 19)
Blocks you need
155 × redstone dust, 81 × stone, 20 × repeater, 9 × redstone torch (on a wall), 3 × lever, 1 × redstone lamp.
Build it in the game: 269 commands
Relative to where you stand, with x running east and z running south. Paste one line at a time into chat, or into a chain of command blocks. The block art is the game's own; the layout is what the page above shows.
setblock ~0 ~0 ~0 minecraft:lever[face=floor,facing=north,powered=false] setblock ~1 ~0 ~0 minecraft:redstone_wire setblock ~2 ~0 ~0 minecraft:redstone_wire setblock ~3 ~0 ~0 minecraft:redstone_wire setblock ~4 ~0 ~0 minecraft:redstone_wire setblock ~5 ~0 ~0 minecraft:redstone_wire setblock ~6 ~0 ~0 minecraft:redstone_wire setblock ~7 ~0 ~0 minecraft:repeater[facing=west,delay=1] setblock ~8 ~0 ~0 minecraft:redstone_wire setblock ~9 ~0 ~0 minecraft:redstone_wire setblock ~10 ~0 ~0 minecraft:redstone_wire setblock ~11 ~0 ~0 minecraft:redstone_wire setblock ~12 ~0 ~0 minecraft:redstone_wire setblock ~13 ~0 ~0 minecraft:redstone_wire setblock ~14 ~0 ~0 minecraft:redstone_wire setblock ~15 ~0 ~0 minecraft:repeater[facing=west,delay=1] setblock ~16 ~0 ~0 minecraft:redstone_wire setblock ~17 ~0 ~0 minecraft:redstone_wire setblock ~18 ~0 ~0 minecraft:redstone_wire setblock ~19 ~0 ~0 minecraft:redstone_wire setblock ~20 ~0 ~0 minecraft:redstone_wire setblock ~21 ~0 ~0 minecraft:redstone_wire setblock ~22 ~0 ~0 minecraft:redstone_wire setblock ~23 ~0 ~0 minecraft:repeater[facing=west,delay=1] setblock ~24 ~0 ~0 minecraft:redstone_wire setblock ~0 ~2 ~0 minecraft:stone setblock ~0 ~3 ~0 minecraft:lever[face=floor,facing=north,powered=false] setblock ~1 ~2 ~0 minecraft:stone setblock ~1 ~3 ~0 minecraft:redstone_wire setblock ~2 ~2 ~0 minecraft:stone setblock ~2 ~3 ~0 minecraft:redstone_wire setblock ~3 ~2 ~0 minecraft:stone setblock ~3 ~3 ~0 minecraft:redstone_wire setblock ~4 ~2 ~0 minecraft:stone setblock ~4 ~3 ~0 minecraft:redstone_wire setblock ~5 ~2 ~0 minecraft:stone setblock ~5 ~3 ~0 minecraft:redstone_wire setblock ~6 ~2 ~0 minecraft:stone setblock ~6 ~3 ~0 minecraft:redstone_wire setblock ~7 ~2 ~0 minecraft:stone setblock ~7 ~3 ~0 minecraft:repeater[facing=west,delay=1] setblock ~8 ~2 ~0 minecraft:stone setblock ~8 ~3 ~0 minecraft:redstone_wire setblock ~9 ~2 ~0 minecraft:stone setblock ~9 ~3 ~0 minecraft:redstone_wire setblock ~10 ~2 ~0 minecraft:stone setblock ~10 ~3 ~0 minecraft:redstone_wire setblock ~11 ~2 ~0 minecraft:stone setblock ~11 ~3 ~0 minecraft:redstone_wire setblock ~12 ~2 ~0 minecraft:stone setblock ~12 ~3 ~0 minecraft:redstone_wire setblock ~13 ~2 ~0 minecraft:stone setblock ~13 ~3 ~0 minecraft:redstone_wire setblock ~14 ~2 ~0 minecraft:stone setblock ~14 ~3 ~0 minecraft:redstone_wire setblock ~15 ~2 ~0 minecraft:stone setblock ~15 ~3 ~0 minecraft:repeater[facing=west,delay=1] setblock ~16 ~2 ~0 minecraft:stone setblock ~16 ~3 ~0 minecraft:redstone_wire setblock ~17 ~2 ~0 minecraft:stone setblock ~17 ~3 ~0 minecraft:redstone_wire setblock ~18 ~2 ~0 minecraft:stone setblock ~18 ~3 ~0 minecraft:redstone_wire setblock ~19 ~2 ~0 minecraft:stone setblock ~19 ~3 ~0 minecraft:redstone_wire setblock ~20 ~2 ~0 minecraft:stone setblock ~20 ~3 ~0 minecraft:redstone_wire setblock ~21 ~2 ~0 minecraft:stone setblock ~21 ~3 ~0 minecraft:redstone_wire setblock ~22 ~2 ~0 minecraft:stone setblock ~22 ~3 ~0 minecraft:redstone_wire setblock ~23 ~2 ~0 minecraft:stone setblock ~23 ~3 ~0 minecraft:repeater[facing=west,delay=1] setblock ~24 ~2 ~0 minecraft:stone setblock ~24 ~3 ~0 minecraft:redstone_wire setblock ~0 ~5 ~0 minecraft:stone setblock ~0 ~6 ~0 minecraft:lever[face=floor,facing=north,powered=false] setblock ~1 ~5 ~0 minecraft:stone setblock ~1 ~6 ~0 minecraft:redstone_wire setblock ~2 ~5 ~0 minecraft:stone setblock ~2 ~6 ~0 minecraft:redstone_wire setblock ~3 ~5 ~0 minecraft:stone setblock ~3 ~6 ~0 minecraft:redstone_wire setblock ~4 ~5 ~0 minecraft:stone setblock ~4 ~6 ~0 minecraft:redstone_wire setblock ~5 ~5 ~0 minecraft:stone setblock ~5 ~6 ~0 minecraft:redstone_wire setblock ~6 ~5 ~0 minecraft:stone setblock ~6 ~6 ~0 minecraft:redstone_wire setblock ~7 ~5 ~0 minecraft:stone setblock ~7 ~6 ~0 minecraft:repeater[facing=west,delay=1] setblock ~8 ~5 ~0 minecraft:stone setblock ~8 ~6 ~0 minecraft:redstone_wire setblock ~9 ~5 ~0 minecraft:stone setblock ~9 ~6 ~0 minecraft:redstone_wire setblock ~10 ~5 ~0 minecraft:stone setblock ~10 ~6 ~0 minecraft:redstone_wire setblock ~11 ~5 ~0 minecraft:stone setblock ~11 ~6 ~0 minecraft:redstone_wire setblock ~12 ~5 ~0 minecraft:stone setblock ~12 ~6 ~0 minecraft:redstone_wire setblock ~13 ~5 ~0 minecraft:stone setblock ~13 ~6 ~0 minecraft:redstone_wire setblock ~14 ~5 ~0 minecraft:stone setblock ~14 ~6 ~0 minecraft:redstone_wire setblock ~15 ~5 ~0 minecraft:stone setblock ~15 ~6 ~0 minecraft:repeater[facing=west,delay=1] setblock ~16 ~5 ~0 minecraft:stone setblock ~16 ~6 ~0 minecraft:redstone_wire setblock ~17 ~5 ~0 minecraft:stone setblock ~17 ~6 ~0 minecraft:redstone_wire setblock ~18 ~5 ~0 minecraft:stone setblock ~18 ~6 ~0 minecraft:redstone_wire setblock ~19 ~5 ~0 minecraft:stone setblock ~19 ~6 ~0 minecraft:redstone_wire setblock ~20 ~5 ~0 minecraft:stone setblock ~20 ~6 ~0 minecraft:redstone_wire setblock ~21 ~5 ~0 minecraft:stone setblock ~21 ~6 ~0 minecraft:redstone_wire setblock ~22 ~5 ~0 minecraft:stone setblock ~22 ~6 ~0 minecraft:redstone_wire setblock ~23 ~5 ~0 minecraft:stone setblock ~23 ~6 ~0 minecraft:repeater[facing=west,delay=1] setblock ~24 ~5 ~0 minecraft:stone setblock ~24 ~6 ~0 minecraft:redstone_wire setblock ~2 ~0 ~1 minecraft:repeater[facing=north,delay=1] setblock ~2 ~0 ~2 minecraft:redstone_wire setblock ~2 ~0 ~3 minecraft:redstone_wire setblock ~2 ~0 ~4 minecraft:redstone_wire setblock ~2 ~0 ~5 minecraft:redstone_wire setblock ~2 ~0 ~6 minecraft:redstone_wire setblock ~2 ~0 ~7 minecraft:redstone_wire setblock ~2 ~0 ~8 minecraft:redstone_wire setblock ~2 ~0 ~9 minecraft:redstone_wire setblock ~2 ~0 ~10 minecraft:redstone_wire setblock ~2 ~0 ~11 minecraft:stone setblock ~2 ~0 ~12 minecraft:redstone_wall_torch[facing=south] setblock ~4 ~2 ~1 minecraft:stone setblock ~4 ~3 ~1 minecraft:repeater[facing=north,delay=1] setblock ~4 ~2 ~2 minecraft:stone setblock ~4 ~3 ~2 minecraft:redstone_wire setblock ~4 ~1 ~3 minecraft:stone setblock ~4 ~2 ~3 minecraft:redstone_wire setblock ~4 ~0 ~4 minecraft:stone setblock ~4 ~1 ~4 minecraft:redstone_wire setblock ~4 ~0 ~5 minecraft:redstone_wire setblock ~4 ~0 ~6 minecraft:redstone_wire setblock ~4 ~0 ~7 minecraft:redstone_wire setblock ~4 ~0 ~8 minecraft:redstone_wire setblock ~4 ~0 ~9 minecraft:redstone_wire setblock ~4 ~0 ~10 minecraft:redstone_wire setblock ~4 ~0 ~11 minecraft:stone setblock ~4 ~0 ~12 minecraft:redstone_wall_torch[facing=south] setblock ~2 ~0 ~13 minecraft:redstone_wire setblock ~3 ~0 ~13 minecraft:redstone_wire setblock ~4 ~0 ~13 minecraft:redstone_wire setblock ~5 ~0 ~13 minecraft:redstone_wire setblock ~6 ~0 ~13 minecraft:redstone_wire setblock ~4 ~0 ~14 minecraft:redstone_wire setblock ~4 ~0 ~15 minecraft:stone setblock ~4 ~0 ~16 minecraft:redstone_wall_torch[facing=south] setblock ~4 ~0 ~17 minecraft:repeater[facing=north,delay=1] setblock ~4 ~0 ~18 minecraft:redstone_wire setblock ~10 ~0 ~1 minecraft:repeater[facing=north,delay=1] setblock ~10 ~0 ~2 minecraft:redstone_wire setblock ~10 ~0 ~3 minecraft:redstone_wire setblock ~10 ~0 ~4 minecraft:redstone_wire setblock ~10 ~0 ~5 minecraft:redstone_wire setblock ~10 ~0 ~6 minecraft:redstone_wire setblock ~10 ~0 ~7 minecraft:redstone_wire setblock ~10 ~0 ~8 minecraft:redstone_wire setblock ~10 ~0 ~9 minecraft:redstone_wire setblock ~10 ~0 ~10 minecraft:redstone_wire setblock ~10 ~0 ~11 minecraft:stone setblock ~10 ~0 ~12 minecraft:redstone_wall_torch[facing=south] setblock ~14 ~5 ~1 minecraft:stone setblock ~14 ~6 ~1 minecraft:repeater[facing=north,delay=1] setblock ~14 ~5 ~2 minecraft:stone setblock ~14 ~6 ~2 minecraft:redstone_wire setblock ~14 ~4 ~3 minecraft:stone setblock ~14 ~5 ~3 minecraft:redstone_wire setblock ~14 ~3 ~4 minecraft:stone setblock ~14 ~4 ~4 minecraft:redstone_wire setblock ~14 ~2 ~5 minecraft:stone setblock ~14 ~3 ~5 minecraft:redstone_wire setblock ~14 ~1 ~6 minecraft:stone setblock ~14 ~2 ~6 minecraft:redstone_wire setblock ~14 ~0 ~7 minecraft:stone setblock ~14 ~1 ~7 minecraft:redstone_wire setblock ~14 ~0 ~8 minecraft:redstone_wire setblock ~14 ~0 ~9 minecraft:redstone_wire setblock ~14 ~0 ~10 minecraft:redstone_wire setblock ~14 ~0 ~11 minecraft:stone setblock ~14 ~0 ~12 minecraft:redstone_wall_torch[facing=south] setblock ~10 ~0 ~13 minecraft:redstone_wire setblock ~11 ~0 ~13 minecraft:redstone_wire setblock ~12 ~0 ~13 minecraft:redstone_wire setblock ~13 ~0 ~13 minecraft:redstone_wire setblock ~14 ~0 ~13 minecraft:redstone_wire setblock ~12 ~0 ~14 minecraft:redstone_wire setblock ~12 ~0 ~15 minecraft:stone setblock ~12 ~0 ~16 minecraft:redstone_wall_torch[facing=south] setblock ~12 ~0 ~17 minecraft:repeater[facing=north,delay=1] setblock ~12 ~0 ~18 minecraft:redstone_wire setblock ~20 ~2 ~1 minecraft:stone setblock ~20 ~3 ~1 minecraft:repeater[facing=north,delay=1] setblock ~20 ~2 ~2 minecraft:stone setblock ~20 ~3 ~2 minecraft:redstone_wire setblock ~20 ~1 ~3 minecraft:stone setblock ~20 ~2 ~3 minecraft:redstone_wire setblock ~20 ~0 ~4 minecraft:stone setblock ~20 ~1 ~4 minecraft:redstone_wire setblock ~20 ~0 ~5 minecraft:redstone_wire setblock ~20 ~0 ~6 minecraft:redstone_wire setblock ~20 ~0 ~7 minecraft:redstone_wire setblock ~20 ~0 ~8 minecraft:redstone_wire setblock ~20 ~0 ~9 minecraft:redstone_wire setblock ~20 ~0 ~10 minecraft:redstone_wire setblock ~20 ~0 ~11 minecraft:stone setblock ~20 ~0 ~12 minecraft:redstone_wall_torch[facing=south] setblock ~22 ~5 ~1 minecraft:stone setblock ~22 ~6 ~1 minecraft:repeater[facing=north,delay=1] setblock ~22 ~5 ~2 minecraft:stone setblock ~22 ~6 ~2 minecraft:redstone_wire setblock ~22 ~4 ~3 minecraft:stone setblock ~22 ~5 ~3 minecraft:redstone_wire setblock ~22 ~3 ~4 minecraft:stone setblock ~22 ~4 ~4 minecraft:redstone_wire setblock ~22 ~2 ~5 minecraft:stone setblock ~22 ~3 ~5 minecraft:redstone_wire setblock ~22 ~1 ~6 minecraft:stone setblock ~22 ~2 ~6 minecraft:redstone_wire setblock ~22 ~0 ~7 minecraft:stone setblock ~22 ~1 ~7 minecraft:redstone_wire setblock ~22 ~0 ~8 minecraft:redstone_wire setblock ~22 ~0 ~9 minecraft:redstone_wire setblock ~22 ~0 ~10 minecraft:redstone_wire setblock ~22 ~0 ~11 minecraft:stone setblock ~22 ~0 ~12 minecraft:redstone_wall_torch[facing=south] setblock ~18 ~0 ~13 minecraft:redstone_wire setblock ~19 ~0 ~13 minecraft:redstone_wire setblock ~20 ~0 ~13 minecraft:redstone_wire setblock ~21 ~0 ~13 minecraft:redstone_wire setblock ~22 ~0 ~13 minecraft:redstone_wire setblock ~20 ~0 ~14 minecraft:redstone_wire setblock ~20 ~0 ~15 minecraft:stone setblock ~20 ~0 ~16 minecraft:redstone_wall_torch[facing=south] setblock ~20 ~0 ~17 minecraft:repeater[facing=north,delay=1] setblock ~20 ~0 ~18 minecraft:redstone_wire setblock ~4 ~0 ~19 minecraft:redstone_wire setblock ~5 ~0 ~19 minecraft:redstone_wire setblock ~6 ~0 ~19 minecraft:redstone_wire setblock ~7 ~0 ~19 minecraft:repeater[facing=west,delay=1] setblock ~8 ~0 ~19 minecraft:redstone_wire setblock ~9 ~0 ~19 minecraft:redstone_wire setblock ~10 ~0 ~19 minecraft:redstone_wire setblock ~11 ~0 ~19 minecraft:redstone_wire setblock ~12 ~0 ~19 minecraft:redstone_wire setblock ~13 ~0 ~19 minecraft:redstone_wire setblock ~14 ~0 ~19 minecraft:redstone_wire setblock ~15 ~0 ~19 minecraft:repeater[facing=west,delay=1] setblock ~16 ~0 ~19 minecraft:redstone_wire setblock ~17 ~0 ~19 minecraft:redstone_wire setblock ~18 ~0 ~19 minecraft:redstone_wire setblock ~19 ~0 ~19 minecraft:redstone_wire setblock ~20 ~0 ~19 minecraft:redstone_wire setblock ~21 ~0 ~19 minecraft:redstone_wire setblock ~22 ~0 ~19 minecraft:redstone_wire setblock ~23 ~0 ~19 minecraft:redstone_lamp