Share

Share

Redstone Comparator

From Minecraft Wiki
(Redirected from Comparator)
Jump to: navigation, search
Redstone Comparator
Redstone Comparator (Inactive).gif
Redstone Comparator (Active).gif
Redstone Comparator
Type

Solid block

Requirements

None

Physics

No

Transparency

Yes

Luminance

No

Blast resistance

0

Hardness

0

Tool

Any tool

Renewable

No

Stackable

Yes (64)

Flammable

No

First appearance

1.5 (13w01a)

Drops

Itself

Data values

See Data values

Name

See Data values

A redstone comparator is a block used in redstone circuits to maintain, compare, or subtract signal strength, or to measure certain block states (primarily the fullness of containers).

Obtaining[edit]

To remove a redstone comparator, mine it. A redstone comparator can be broken instantly with anything, and drops itself as an item.

A redstone comparator will also be removed and drop itself as an item:

  • if its attachment block is moved, removed, or destroyed
  • if water flows into its space
  • if a piston tries to push it or moves a block into its space

If lava flows into a redstone comparator's space, the redstone comparator will be destroyed without dropping itself as an item.

Crafting[edit]

Ingredients Crafting recipe

Redstone Torch +
Nether Quartz +
Stone


Redstone Torch
Grid layout Arrow (small).png Redstone Comparator
Redstone Torch Nether Quartz Redstone Torch
Stone Stone Stone

Usage[edit]

A redstone comparator can be placed on the top of any opaque block with a solid full-height top surface (including upside-down slabs and upside-down stairs), as well as on hoppers. To place a redstone comparator, use the Place Block control.

The redstone comparator has a front and a back — the arrow on the top of the comparator points to the front. When placed, the comparator will face away from the player. The comparator has two miniature redstone torches at the back and one at the front. The back torches turn on when the comparator's output is greater than zero (the arrow on top also turns red). The front torch has two states which can be toggled with the Use Item control: lowered and non-powered (indicating the comparator is in "comparison mode"), and elevated and powered (indicating the comparator is in "subtraction mode").

The redstone comparator can take a signal strength input from its rear as well as from both sides. Side inputs are only accepted from redstone dust, redstone repeaters, and other comparators. The redstone comparator's front is its output.

It takes 1 redstone tick (2 game ticks, or 0.1 seconds barring lag) for signals to move through a redstone comparator, either from the rear or from the sides. This applies to changing signal strengths as well as simply to turning on and off. Redstone comparators usually will not respond to 1-tick fluctuations of power or signal strength — for example, a 1-clock input will be treated as always off from the side, and always on from the rear.

The redstone comparator has four functions: maintain signal strength, compare signal strength, subtract signal strength, and measure certain block states (primarily the fullness of containers).

Maintain signal strength[edit]

A redstone comparator with no powered side inputs will simply output the same signal strength as its rear input.

Compare signal strength[edit]

Comparators in comparison mode.

A redstone comparator in comparison mode (front torch lowered and non-powered) will compare its rear input to its two side inputs. If either side input is greater than the rear input, the comparator output turns off. If neither side input is greater than the rear input, the comparator simply outputs the same signal strength as its rear input.

Subtract signal strength[edit]

A redstone comparator in subtraction mode (front torch elevated and powered) will subtract the signal strength of the highest side input from the signal strength of the rear input (minimum 0 signal strength).

For example, if the rear input signal strength is 7, the left side is 2, and the right side is 4, then the output will be a signal strength of 3, because 7 - MAX(2,4) = 3.

Measure block state[edit]








A redstone comparator can measure the fullness of a chest, as well as other block states, even through a block.

A redstone comparator will treat certain blocks behind it as power sources and output a signal strength proportional to the block's state. The comparator may be separated from the measured block by a solid block, but if the solid block is powered then its signal strength will override the signal strength of the measured block (whether greater or lesser).

Containers[edit]

Minimum Items for Container Signal Strength
Power
Level
Containers and Slots












3 4 5 9 27 54
0 0i 0i 0i 0i 0i 0i
1 1i 1i 1i 1i 1i 1i "13"
2 14i 19i 23i 42i 1s
60i
3s
55i
"cat"
3 28i 37i 46i 1s
19i
3s
55i
7s
46i
"blocks"
4 42i 55i 1s
5i
1s
60i
5s
51i
11s
37i
"chirp"
5 55i 1s
10i
1s
28i
2s
37i
7s
46i
15s
28i
"far"
6 1s
5i
1s
28i
1s
51i
3s
14i
9s
42i
19s
19i
"mall"
7 1s
19i
1s
46i
2s
10i
3s
55i
11s
37i
23s
10i
"melohi"
8 1s
32i
2s 2s
32i
4s
32i
13s
32i
27s "stal"
9 1s
46i
2s
19i
2s
55i
5s
10i
15s
28i
30s
55i
"strad"
10 1s
60i
2s
37i
3s
14i
5s
51i
17s
23i
34s
46i
"ward"
11 2s
10i
2s
55i
3s
37i
6s
28i
19s
19i
38s
37i
"11"
12 2s
23i
3s
10i
3s
60i
7s
5i
21s
14i
42s
28i
"wait"
13 2s
37i
3s
28i
4s
19i
7s
46i
23s
10i
46s
19i
14 2s
51i
3s
46i
4s
42i
8s
23i
25s
5i
50s
10i
15 3s 4s 5s 9s 27s 54s

A redstone comparator used to measure the state of a container outputs a signal strength in proportion to how full the container is (0 for empty, 15 for full, etc.).

Containers which can be measured by a comparator include:

When a comparator measures a double chest or trapped double chest, it measures the entire double chest (54 slots), not just the half directly behind the comparator. A chest or trapped chest which cannot be opened (either because it has an opaque block or ocelot above it) will always produce an output of 0 no matter how many items are in the container.

The Minimum Items for Container Signal Strength table (right) shows the minimum number of 64-stackable items required to produce specific signal strengths from various containers. A number followed by an "s" indicates the number of full item stacks required (not displayed if a full stack is not required), and a number followed by an "i" indicates the number of additional items required (not displayed if no items are required beyond some number of item stacks). For items which stack up to a maximum of 16 (snowballs, signs, ender pearls, etc.), divide the "i" number by 4 and round up. For non-stackable items, count any "i" number as one additional item.

For example, to produce a signal strength of 10 from a hopper requires a minimum of 3 full stacks plus 14 more items (or 4 16-stackable items).

Calculating signal strength from items
When a container is empty, the output is off.
When it is not empty, the output signal strength is calculated as follows:
signal strength = truncate(1 + ((sum of all slots' fullnesses) / number of slots in container) * 14)
fullness of a slot = (number of items in slot) / (max stack size for this type of item)
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.
Calculating items from signal strength
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:
items required = max(desired signal strength, roundup((total slots in container * 64 / 14) * (desired signal strength - 1) ) )
Example: To use a furnace (which has 3 slots) to create a strength 9 signal, you need 110 items:

max(9, (3*64/14)*(9-1)) = 109.714, rounded up is 110

Miscellaneous[edit]

Comparators used to measure containers.

Some non-container blocks can also be measured by a redstone comparator:


Cauldron
A cauldron outputs different signal strengths depending on how much water is inside. From completely empty to completely full, the output values are 0, 1, 2, and 3.

Command Block
A command block stores the "success count" of the last command executed, 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 in the chat, 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 (maximum 15).
A command block continues to store the success count of the last command executed until it executes its command again, thus the comparator will continue to output the same signal strength even after the command block is no longer being activated (it doesn't turn off when the signal to the command block turns off).

End Portal Frame
An end portal frame outputs a full signal of 15 if it contains an eye of ender and zero otherwise.

Jukebox
A jukebox outputs a signal strength which indicates which record is currently playing. For which records produce which signal strengths, see the Minimum Items for Container Signal Strength table above.

Item Frame
A comparator can measure the state of an item frame's contents. In order for a comparator to measure an item frame's contents, it must be placed behind the block the item frame is attached to, facing away from the item frame. An item frame comparator will output 0 if the item frame is empty, or 1 to 8 for any item depending on its rotation (1 at initial placement, plus 1 for each right-click rotation to a maximum of 8, then wrapping back to 1).

Data values[edit]

A redstone comparator is defined by its ID, block data, and block entity. A redstone comparator also has a block state which is expected to replace the functionality of block data in a future version.

ID[edit]

Redstone Comparator ID Name Numerical ID
Block unpowered_comparator 149
Item comparator 404

Block data[edit]

A redstone comparator's block data specifies its orientation, mode, and powered status.

Bits Values
0x1
0x2
A two-bit field storing a value from 0 to 3 specifying the redstone comparator's orientation:
  • 0: Facing north.
  • 1: Facing east.
  • 2: Facing south.
  • 3: Facing west.
0x4 Set if in subtraction mode (front torch up and powered).
0x8 Set if powered (at any power level).

Block entity[edit]

See also: Block entity format

Every redstone comparator has a Comparator block entity associated with it that specifies the comparator's current output power level.


  • Tile entity data

    •  id: Comparator

    •  x: X coordinate of the Tile Entity.

    •  y: Y coordinate of the Tile Entity.

    •  z: Z coordinate of the Tile Entity.

    •  OutputSignal: Represents the strength of the analog signal output of this redstone comparator.

Block state[edit]

See also: Block states
Name Value Description

 facing
north
south
east
west
The direction from the output side to the input side of the comparator.
The opposite from the direction the player faces while placing the comparator.

 mode
compare
subtract
Specifies the current mode of the redstone comparator.

 powered
true
false
True if the redstone comparator is being powered.

Video[edit]

History[edit]

Official release
24 November 2012 Jeb stated that there may be a "capacitor" in Minecraft.
27 December 2012 Dinnerbone released pictures of the first version of the "comparator", stating it was a replacement for the "capacitor" idea which has variable, alternate inputs.
2 January 2013 Dinnerbone released one more picture of the comparator. The picture itself showing a digital-to-analogue converter, using the comparator as the main block.
1.5 13w01a Added redstone comparator, with 0 delay.
13w01b Added delay of 1 game tick (1/2 redstone tick) to comparator to fix bugs.
Added ability to measure containers to redstone comparator.
13w02a Updated texture to show quartz in the middle.
Changed algorithm for measuring containers so that comparators output a signal with as few as 1 item in the container.
13w02b Comparators now treat double chests as a single container.
13w03a Comparators now output success count of command blocks.
Comparators now measure container minecarts on detector rails.
13w04a Comparators now measure jukeboxes.
13w05a Comparators no longer cause constant block updates, the delay is made consistent, and side input no longer causes a pulse output.
13w05b Comparator delay changed from 1 game tick (1/2 redstone tick) to 2 game ticks (1 redstone tick).
13w09c The redstone signal strength from a comparator next to a brewing stand with 3 water bottles in it is the same as one with 3 water bottles and 1 ingredient in it.
1.6.1 13w18a Comparators now measure cauldrons and end portal frames.
1.7.2 Block IDs 149 (unlit comparator) and 150 (lit comparator) were removed from the /give command.
1.8 14w04a Comparators now measure item frames.

Issues[edit]

Issues relating to "Redstone Comparator" are maintained on the issue tracker. Report issues there.