Observer

This article is about the block that detects block updates. For the redstone mechanism, see block update detector.

Observer
File:Observer.png
File:Observer (back).gif

 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
/
}}
An **observer** is a block that emits a redstone signal when the block or fluid it faces experiences a change.

## Obtaining

### Breaking

An observer requires a pickaxe to be mined. When mined without a pickaxe, it drops nothing.

 Tool
 Golden | 0.45

1. ↑ Times are for unenchanted tools as wielded by players with no status effects, measured in seconds. For more information, see Breaking § Speed.

### Crafting

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

## Usage

An observer is placed similarly to a piston. It observes the block that it is placed against. The texture of the detecting side is that of an observing face. As observers can detect the state of other observers, placing two adjacent observers, each watching the other, can make a fast and compact redstone clock. They send out a pulse.

### Behavior

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}}, an observer detects changes in its target's block states, or the breaking or placing of a block (i.e. changes in its block state, but *not* its block entity data). This means that changes like the age of crops can be detected because they are part of the block states.

```

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}}, an observer acts as a block update detector and detects anything that causes a block update.

```

The causes and propagation of block updates are different between Java Edition and Bedrock Edition. As a result, each can detect some kinds of changes that the other cannot. See the table below for a comparison.

When it detects something, the observer emits a redstone pulse of strong power at level 15 for 2 game ticks (1 redstone tick). The pulse can power redstone dust, a redstone comparator, a redstone repeater, or any mechanism component located at its opposite end.

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}}]]
       }}

```

It also counts as a block update when the observer itself is moved by a piston. When this happens, an observer emits a pulse after being pushed or pulled, but not beforehand.

Though they block light, observers behave as transparent blocks in one sense: they cannot be powered by an external power source, nor power themselves with their own output.

Because observers in Java Edition detect changes in the block state, and *not* block updates, they can detect a wider range of phenomena than a block update detector (BUD) circuit in Java Edition can detect (as some block state changes don't cause block updates). Observers in Bedrock Edition *do* detect block updates but not block state changes, and so they detect the exact same things that any other BUD would detect in that edition.

### Note Blocks

The observer can be placed under note blocks to produce a "bass drum" sound.

## Sounds

*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.**

## Data values

### ID

*Java Edition*:

{{#vardefine: idtable | 1 }}

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

 }}

```

Bedrock Edition:

{{#vardefine: idtable | 1 }}

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

 }}

```

### Block states

See also: Block states
Observer/BS

## 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 |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.11 }}{{#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 | ^\((.\*?)\)$ | \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 | }}

```

```

```
     }}{{

```

```

```

}}[*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 | }}

```

```

```
     }}{{

```

 {{ #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 |}}{{
 #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 |}}<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-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.15.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.15.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 |}}{{
 #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-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.16.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.16.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.16.100 }}{{#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.100 | ^\((.\*?)\)$ | \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 | }}

 {{ #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-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 | }}

 {{ #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

* When moved by a piston, an observer sends a 2-game tick (1 redstone tick) pulse after being moved, which makes it useful for slime block flying machines.
* The current Observer texture was created because Jeb kept confusing the front with the back. He said it was inspired by the "rejected texture" created by Tommaso Checchi.

## Frowny Observers.pngThe first image released of the new observer texture for the Java EditionSee also

* Tutorials/Block update detector
* Redstone Comparator

## References

1. ↑ 1.0 1.1 Melon or pumpkin stems that become attached to the melon or pumpkin are detected in Java Edition, and Bedrock Edition.
2. ↑ Includes firework rockets, falling block entities, fishing hooks, entities (ie. fireballs, lama spit, evoker fangs etc.) and all throwable projectiles other than splash/lingering potions and enderpearls.
8. ↑ {{

	1. vardefine: $name |jeb\_}}{{
	2. vardefine: deleted |}}$name }}/status/727043609552367616 "Hype train! @darngeek is working on a device that acts as a proper BUD block in MC:PE (PC eventually), currently called "Observer"" (archived) – $name}} @{{#var: $name}} on Twitter, May 2, 2016
9. ↑ {{

	1. vardefine: $name |\_tomcc}}{{
	2. vardefine: deleted |}}$name }}/status/727044087522713600 "Here's my rejected graphics for the Observer, because @darngeek has no artistic sensibility" (archived) – $name}} @{{#var: $name}} on Twitter, May 2, 2016
10. ↑ {{

	1. vardefine: $name |jeb\_}}{{
	2. vardefine: deleted |}}$name }}/status/795625080067866624 "I kept confusing myself which side was front and back, so here's something inspired by the works of @\_tomcc http://i.imgur.com/IK2d8m2.png" (archived) – $name}} @{{#var: $name}} on Twitter
Template:Redstone

de:Beobachter
fr:Observateur
ja:オブザーバー
ko:관측기
nl:Observeerder
pl:Detektor
pt:Observador
ru:Наблюдатель
zh:侦测器