Redstone Comparator

The Redstone Comparator is a block for use with redstone circuitry. It has two inputs: one from the back ('signal A') and one from the side ('signal B'). If signal B is stronger than signal A, there will be no output. Otherwise, it can be set to either repeat signal A at its current strength, or output the difference between both inputs in subtraction mode.

It provides a "subtraction" feature which results in the output being the strength of the back ('signal A') minus the strength of the side ('signal B'), however for this to work the player must make sure that the front redstone torch is lit. Signal B has to be less powerful than signal A for it to work. An example is if the back has a strength of 15, and the side has a strength of 1 the output is 14. Right-clicking the comparator will toggle the torch.

The comparator also provides a feature which is activated when the rear of the comparator (the side with two redstone torches) is placed against a storage block. Doing this causes the comparator to emit a signal that is equal to the percentage the storage block is full. Some people call this fill-checking.

The comparator looks similar to a repeater, except with an additional redstone torch.

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 used in some other countries, such as Canada and the UK.

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.

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 outputted will then damper by 1 every sequence through the loop until the power dampers entirely.

As a clock
If a Redstone Torch or a Lever is connected directly to signal A and the output is forwarded to signal B and the comparator toggle is set to on, the device will act as a 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, 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) 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. * 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.

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.

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