Redstone Comparator

Redstone Comparator
File:Redstone Comparator.pngFile:Subtracting Redstone Comparator.pngFile:Powered Redstone Comparator.pngFile:Powered Subtracting Redstone Comparator.png
File:Redstone Comparator BE.pngFile:Subtracting Redstone Comparator BE.pngFile:Powered Redstone Comparator BE.pngFile:Powered Subtracting Redstone Comparator BE.png

 Stackable
 Tool
 Catches fire from lava | No

{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}
Template:Many images
A **redstone comparator** is a redstone component used to maintain, compare, or subtract signal strength, or to measure certain block states (primarily the fullness of containers).

## Obtaining

### Breaking

A redstone comparator can be broken instantly with any tool, including the player's fist, and drops itself as an item.

 Default

A redstone comparator is removed and dropped as an item if:

* its attachment block is moved, removed, or destroyed;
* water flows into its space;‌{{#vardefine:$title|This statement only applies to {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} {{#var: edition-l}}
       }}
  }}{{#var: editions}} }}[*{{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}
 {{#vardefine: edition |{{#var: argval}} }}
 {{#vardefine: edition-s |{{#var: edition}}}}
 {{#vardefine: edition-l |{{#var: edition-s}} Edition}}
 {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
 }}
 }}{{#var: editions}} only*]

```

* 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 is destroyed without dropping itself as an item.

### Crafting

**Lua error: callParserFunction: function "#dplvar" was not found.**

## Usage

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). In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, a comparator can also be placed on walls and fences. For more information about placement on transparent blocks, see Opacity/Placement.

```

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 faces 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 that can be toggled by {{#vardefine: control | right click on mouse or left trigger on most controllers }}using the comparator:

* Down and unpowered (indicating the comparator is in "comparison mode")
* Up 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 accepted only from redstone dust, block of redstone, redstone repeaters, other comparators, and observers in specific scenarios. 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 check their power state before their scheduled ticks update. This results in redstone comparators not usually responding to 1-tick fluctuations of power or signal strength — for example, a 1-clock input is treated as always off from the side, and always on from the rear. This happens because the signal changes back to its original state before the redstone comparator checks its input states. However, certain setups such as powering any input with two separate observer pulses at the same time will cause a redstone comparator to respond to 2 gametick pulses.

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

A redstone comparator with no powered sides outputs the same signal strength as its rear input.

### Compare signal strength

 File:Comparators Explained.png
A redstone comparator in comparison mode (front torch down and unpowered) compares 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 outputs the same signal strength as its rear input.

The formula for calculating the output signal strength is as follows:

`output = rear × [***left*** ≤ ***rear*** AND ***right*** ≤ ***rear***]`

### Subtract signal strength

 File:Redstone comparator.png
A redstone comparator in subtraction mode (front torch up and powered) subtracts the signal strength of the higher side input from the signal strength of the rear input.

`output = max(***rear*** − max(***left**, **right***), 0)`

For example: if the signal strength is 6 at the left input, 7 at the right input and 4 at the rear, the output signal has a strength of *max(4 − max(6, 7), 0) = max(4−7, 0) = max(−3, 0) = 0*.

If the signal strength is 9 at the rear, 2 at the right input and 5 at the left input, the output signal has a strength of *max(9 − max(2, 5), 0) = max(9−5, 0) = 4*.

### Measure block state

Template:Schematic
A redstone comparator treats certain blocks behind it as power sources and outputs a signal strength proportional to the block's state. The comparator may be separated from the measured block by a solid block. However, in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, if the solid block is powered to signal strength 15, then the comparator outputs 15 no matter the fullness of the container.

```

#### Fullness of containers

One can use a redstone comparator to output a signal, measuring how full a container is. (0 for empty, 15 for full, etc.) The table on the right is described more in detail, later in this section.

Containers that can be measured by a comparator include:

* Furnace
* Blast Furnace
* Smoker
* Brewing Stand
* Hopper
* Minecart with Hopper on top of a detector rail
* Dispenser
* Dropper
* Chest
* Trapped Chest
* Minecart with Chest on top of a detector rail
* Barrel
* Template:SchematicSpriteTemplate:SchematicSprite Large chest
* Template:SchematicSpriteTemplate:SchematicSprite Large trapped chest
* Shulker Box (any color)

Generally speaking, the comparator output signal strength represents the average fullness of the slots, based on how many of that item form a full stack (64, 16, or 1 for non-stackable items).

The *Minimum Items for Container Signal Strength* table (right) shows the minimum *full-stack-equivalent (FSE)* to produce different signal strengths from common containers. A *full-stack-equivalent* quantifies how many normal 64-stackable items are needed to output a corresponding signal strength. The 's' is a constant 64, with the additional amount needed following after.

Items that stack to a max of 16 (snowballs, signs, ender pearls, etc.), contribute +4 to the *full-stack-equivalent* for each unity (count of 1 item). Similarly, items that stack to 1 (minecart, boat, etc.) contribute +64, and items that stack to 64 contribute +1.

Example 1: 3 ender pearls will contribute a 3 x 4 = 12 *full-stack-equivalent*.

Example 2: 16 ender pearls and 60 redstone dust contributes a 16x4 + 60x1 = 124 *full-stack-equivalent*.

Example 3: 1 minecart and 60 redstone dust contributes a 1x64 + 60x1 = 124 *full-stack-equivalent*.

Example 4: To produce a signal strength of 10 from a hopper, one requires a *full-stack-equivalent* of 3s + 14 = 206. This can be done with 3 minecarts, and 14 dirt.

When a comparator measures a large chest or large trapped chest, it measures the entire large chest (54 slots), not just the half directly behind the comparator. A chest or trapped chest that cannot be opened (either because it has an opaque block, ocelot, or cat above it) always produces an output of 0 no matter how many items are in the container — shulker boxes can always be measured, even if they cannot open.

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*** = floor(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 has a 300 *full-stack-equivalent.* This produces an output with a signal strength of 8:

>
> 1 + ((300 items / 64 items per slot) / 9 slots) × 14 = 8.292, floored is 8
>
>
>
>

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, players need 110 items:

>
> max(9, (3×64/14) × (9−1)) = 109.714, rounded up is 110
>
>
>
>

#### Miscellaneous

 File:Comparator storage.png
Some non-container blocks can also be measured by a redstone comparator:

Beehive and Bee nest
A hive or nest outputs a signal strength equal to the amount of honey in the hive/nest.
Cake
A cake outputs a signal strength relative to the amount of cake remaining. Each slice is worth 2 signal strength, with 7 total slices, for an output of 14 for a full cake.
 File:Cauldron Redstone Strength Values.png
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. If lava is inside, the strength is always 3.
 File:Composter Redstone Strength Values.png
Composter
A composter outputs different signal strengths depending on the level inside. From completely empty to completely full, the output values are 0, 1, 2, 3, 4, 5, 6, 7 and 8.
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 succeed once per execution, but certain commands (such as those that accept players as arguments) can succeed multiple times, and the comparator outputs the number of times it succeeded (maximum 15 when sent to redstone dust, but in the code is able to go up to 32-bit integer limit, and can be used in contraptions with no redstone dust with those values).
A command block continues to store the success count of the last command executed until it executes its command again, thus the comparator continues 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.
 File:Item frame and comparator.png
Item Frame
A comparator can measure the state of an item frame's contents. An item frame comparator outputs 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 45° of rotation for a maximum of 8.
For an item frame that holds a map, a unit of rotation is 90° instead of 45°, but a comparator still outputs power levels 1 to 8. It takes two full rotations to cycle through all comparator outputs, and each orientation of the map corresponds to two output levels that differ by 4.
The comparator must be placed behind the block the item frame is attached to, facing away from the item frame. The block must be a full block, and the item frame cannot be submerged in water. Having a sign in the same block as the item frame will prevent the frame from sending a signal as well.‌{{#vardefine:$title|This statement only applies to {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} {{#var: edition-l}}
       }}
  }}{{#var: editions}} }}[*{{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}
 {{#vardefine: edition |{{#var: argval}} }}
 {{#vardefine: edition-s |{{#var: edition}}}}
 {{#vardefine: edition-l |{{#var: edition-s}} Edition}}
 {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
 }}
 }}{{#var: editions}} only*]

```

Jukebox
A jukebox outputs a signal strength indicating which music disc is currently playing. See the *Minimum Items for Container Signal Strength* table above.
Lectern
A lectern outputs a signal strength that depends on what page the player is currently on (e.g. a book with 15 pages powers 1 redstone level per page, or one with 5 pages emits 3 signal strength per page).
Respawn Anchor
A respawn anchor outputs a signal strength of 0, 3, 7, 11, or 15, depending on the "charged" value.
Sculk Sensor
A sculk sensor outputs a signal strength depending on the type of vibration that is detected.

## Sounds

### Generic

*Java Edition*:
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**

Bedrock Edition:
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**

### Unique

*Java Edition*:
**Lua error: callParserFunction: function "#var" was not found.**

## Data values

### ID

*Java Edition*:

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

Bedrock Edition:

{{#vardefine: idtable | 1 }}

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

### Block states

See also: Block states

Redstone Comparator/BS

### Block data

A redstone comparator has a block entity associated with it that holds additional data about the block.

*Java Edition*:

See also: Block entity format
Redstone Comparator/BE

Bedrock Edition:

See Bedrock Edition level format/Block entity format.

## History

Please expand the section to include this information. Further details may exist on the talk page.

*For a more in-depth breakdown of changes to repeater textures and models, including a set of renders for each state combination, see /Asset history*

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode| java }}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

1. vardefine: $name |Dinnerbone}}{{
2. vardefine: deleted |}}https://web.archive.org/web/https://twitter.com/{{#var: $name }}/status/284388625595125760 December 27, 2012]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

1. vardefine: $name |Dinnerbone}}{{
2. vardefine: deleted |}}https://web.archive.org/web/https://twitter.com/{{#var: $name }}/status/286428595423965184 January 2, 2013]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.5 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.5 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.6.1 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.6.1 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.8 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.8 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.9 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.9 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

* 1: 1
* 2: 19
* 3: 37
* 4: 55
* 5: 1s 10
* 6: 1s 28
* 7: 1s 46
* 8: 2s
* 9: 2s 19
* 10: 2s 37
* 11: 2s 55
* 12: 3s 10
* 13: 3s 28
* 14: 3s 46
* 15: 4s

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.13 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.13 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.14 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.14 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.15 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.15 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.16 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.16 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.17 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.17 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.18 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.18 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|pocket Alpha}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | v0.14.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: v0.14.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

```

```

}}[*verify*][[Category:Verify for {{#var:verifyedition}}]]{{

```

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|pocket}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.0.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.0.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.0.5 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.0.5 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.1.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.1.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|bedrock}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.2.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.2.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.10.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.10.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.11.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.11.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.18.10 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.18.10 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|console}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```
         #dplreplace: File:Redstone Comparator (S) JE2 BE1.png File:Powered Redstone Comparator (S) JE2 BE1.png File:Subtracting Redstone Comparator (S) JE2 BE1.png File:Powered Subtracting Redstone Comparator (S) JE2 BE1.png{{

```

}}[*verify*][[Category:Verify for {{#var:verifyedition}}]]{{

```

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```
         #dplreplace: File:Redstone Comparator (S) BE.png File:Powered Redstone Comparator (S) BE.png File:Subtracting Redstone Comparator (S) BE.png File:Powered Subtracting Redstone Comparator (S) BE.png{{

```

}}[*verify*][[Category:Verify for {{#var:verifyedition}}]]{{

```

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|new3ds}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 #dplreplace: 0.1.0 | ^\((.\*?)\)$ | \1 }}]] | File:Redstone Comparator (S) JE2 BE1.png File:Powered Redstone Comparator (S) JE2 BE1.png File:Subtracting Redstone Comparator (S) JE2 BE1.png File:Powered Subtracting Redstone Comparator (S) JE2 BE1.png{{

```

```

}}[*verify*][[Category:Verify for {{#var:verifyedition}}]]{{

```

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|foot}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

## Trivia

* Comparators are intentionally designed by Mojang to not emit redstone particles when powered, unlike redstone torches and repeaters.

## References

Template:Redstone

Template:Items

de:Redstone-Komparator
es:Comparador de redstone
fr:Comparateur de redstone
hu:Redstone-komparátor
ja:レッドストーンコンパレーター
ko:레드스톤 비교기
nl:Redstonevergelijker
pl:Komparator
pt:Comparador de redstone
ru:Компаратор
zh:红石比较器