Redstone Comparator

The Redstone Comparator is a block for use with redstone circuitry. It looks similar to a repeater, except with an additional redstone torch. It has two inputs: one from the back, signal A, and one from the side, signal B. The output, the torch in front, has different behavior depending on the mode of operation.

There are two modes of operation: subtraction, when the torch is lit; and comparison, when the torch is dark. Right clicking the comparator will change modes.

Subtraction mode, when the front torch is lit: When signal A is stronger than signal B, there will be an output proportional to (A-B). Example: When the back has a strength of 15 and the side has a strength of 1, the output is 14.

Comparison mode, when the front torch is dark: When signal A is stronger than signal B, the strength of signal A is passed through. This is similar to a Bipolar Junction Transistor (electronics).

When the rear of the comparator (the side with two redstone torches) is placed against a storage block it emits a signal equal to the percentage the storage block is full (see below).

As a low-delay wire/diode
Like a repeater, the comparator acts as a diode. On its own, a comparator can be used as a diode (with 1 redstone tick delay), providing output of the same strength as its input, but not allowing current to flow against the direction of its arrow. However, unlike a repeater, it will not create an output for a 1-tick pulse.

As a comparator
The comparator's side inputs may be used to set a threshold for the input signal. The input, signal A, will only be output if it is greater than or equal to signal B. Otherwise, there is no output. Signal A is the signal input to the back of the comparator. Signal B is considered the greater of the two side inputs; the weaker side input is ignored. This is similar to a real-life op-amp without a feedback circuit, with signal A to its non-inverting input and signal B to its inverting input.

As a diminisher
If a comparator is right-clicked, its third redstone torch becomes active. In this state, the output will be signal A minus signal B: the input signal will be reduced by the comparison signal. If signal B is greater than or equal to signal A, of course, there will be no output. This is similar to a real-life op-amp with a feedback wire from its output directly to its negative input (hence no amplifying effect but subtracts inputs), with signal A to its non-inverting input and signal B to its inverting input.

As a damper signal
If a line of 3 or more comparators are in a loop and then you increase one leg of the loop to 2 redstone before the next comparator, the signal strength output will then be dampened by 1 every sequence through the loop until the power is dampened entirely.

As a clock
Whenever Signal A is connected with full strength and the output is forwarded to signal B and the comparator toggle is set to on, the device will act as a 1-clock.

As an inventory contents checker
If a comparator is placed next to a container, it will provide an output based on the percentage of used space in the container. This includes: regular/large/trapped Chest, Furnace, Dispenser, Hopper, Brewing Stand, Dropper, Jukebox, End Portal Frame, Cauldron, or a Detector Rail with a Minecart with Chest / Hopper on it. The comparator may be separated from the input by one solid block if the 3 blocks form a line, however redstone current from below the separator may interfere. See below for more info.

Inventory checking output
When a container is empty, the output is off.

When it is not empty, the output signal strength is calculated as follows:

Example: 300 blocks in a dispenser (which has 9 slots), where each block stacks to a maximum of 64, produces output with a signal strength of 8: 1 + ((300 items / 64 items per slot) / 9 slots) * 14 = 8.292, truncated is 8

Note that a non-stackable item is counted as a full slot (1 item in a slot, with a max stack size of 1: 1 / 1 = 1.0), and items which stack up to 16 (such as ender pearls and snowballs and eggs) are similarly considered a full slot at 16.

Specific output signal strength creation
It can be useful in redstone circuits to use containers with comparators to create signals of a specific strength. The number of items required in a container to produce a signal of desired strength is calculated as follows:

Example: To use a furnace (which has 3 slots) to create a strength 9 signal, you need 110 items: max(8, (3*64/14)*(9-1)) = 109.714, rounded up is 110

Power listings of a furnace
This table shows the number of full slots(e.g. non-stackables like shovels,...) and blocks/items(stackable to 64) needed to get a specific output strength when using a furnace. Minimum and maximum needed items are shown. The optimal column tries to round to the nearest number of full slots between the minimum and maximum, if that isn't possible it optimizes by splitting 64-stacks in half and so on. Basically it's easier to count and needs less clicks to get a number of blocks/items in the furnace. * Note that you have to smelt things to get items into the third slot, therefore using chests may be a better option if you want signal strength 11 or higher.

Power listings of a single chest
This table shows the number of full slots(e.g. non-stackables like shovels,...) and blocks/items(stackable to 64) needed to get a specific output strength when using a single chest. Minimum and maximum needed items are shown. The optimal column tries to round to the nearest number of full slots between the minimum and maximum.

By using the /give command, it is possible to get a stack that has more than the normal maximum for an item. For example, beds normally do not stack, however you can use /give  bed 27 to get a stack of 27 beds. If you put the resulting stack of 27 beds in a chest, it will then output a signal strength of 15. Using this technique, and increasing the number to greater than 27, you can create chests (and other containers) which are more than 100% full. While you cannot store a signal with strength larger than 15 in redstone wire, redstone comparators can internally have a strength of more than 15. This internal strength can then be subtracted to reach signal strengths that wire can carry. For example, if you put 29 beds in a chest, set a comparator examining the chest to subtraction mode, and subtract a signal of maximum strength (15), the comparator will output a signal strength of 1.

Jukebox record identification
Unlike most containers, the signal output by a jukebox represents the record it contains. It outputs:

Other Unique Block Outputs
End Portal Frame blocks output a full signal of 15 if they contain an Eye of Ender and zero otherwise.

Cauldrons output different signal strengths depending on how much water is inside. From completely empty to completely full, the output values are 0, 2, 3, and 4.

Command Block Output
Command Blocks output a property called "Success Count", which represents the number of times the most recently-used command of this Command Block succeeded. A "success" is defined by the command's success conditions: if a red error message is returned, the command was not successful.

Most commands can only succeed once per execution, but certain commands (such as those which accept players as arguments) can succeed multiple times, and the comparator will output the number of times it succeeded (of course, this is capped at a full signal of 15, so it will output 15 if there were 15 or more successes). Examples of such commands are /tell and /testfor. Note that /say will never output more than 1, as the command only outputs one message in chat regardless of the number of players who are referenced (their names are merely formatted as a list of the form "name1, name2, and name3").

Note that the comparator will output the Command Block's success count for the last command executed: it will be a constant signal (or lack thereof) and will only update when the command is next executed.

Trivia

 * The comparator does not re-strengthen a redstone signal. This means it can not be used for super-long instant circuits.
 * If placed every second block between redstone, they can endlessly carry a signal, at same speed than repeaters on first setting, without it losing power strength. Placing a non-transparent block at every corner allows it to bend without losing power. It is also possible to reduce the needed amount of comparators further (and thus improve the signal speed) by facing the comparators into solid blocks behind which redstone is placed
 * A redstone comparator outputs a strong signal. This does not mean it resets the signal strength like repeaters, but it means the signal can be picked up through a block without using a repeater (Like a repeater)
 * If you join up the redstone torches, an arrow is created which points to the redstone output. This arrow can also be seen as a red triangle on the Comparator, if one looks hard enough.
 * In American English (the wiki default), "comparator" is pronounced kuhm-par-uh-ter (kəmˈpɛrətɚ in IPA), with the stress on the second syllable, but kom-puh-rey-ter, with the primary stress on the first syllable and secondary stress on the third, is also used in places.

Gallery
Redstone-Komparator Comparador de Redstone Comparateur Komparator Компаратор 红石比较器