Observer

An observer is a block that emits a redstone signal when an adjacent block is updated.

Obtaining
An observer requires a pickaxe to be mined. When mined without a pickaxe, it will drop nothing.

Usage
An observer is placed similarly to a piston, and will observe the block that it is placed against. Unlike many redstone components, the 'face' (detection side) points away from the player who placed the block.

In Pocket Edition the observer block texture has two dots which are at opposite ends when the block is placed. The smaller dot outputs a redstone signal whilst the bigger dot detects the block update. In Java Edition, the texture of the detection end is that of an 'observing' face.

Behavior
In Java Edition, an observer will detect changes in its target's block ID or data value, or the breaking or placing of a block. (Changes in its basic block state, but not its extended/actual block state.) This means that changes like the age of crops will be detected, since they are part of the basic block state that is converted to metadata when the world is saved; however, changes such as the shape of a fence will not be detected, since those are part of the extended block state, which is not saved when the world is saved.

In Pocket Edition, an observer acts as a block update detector, and detects anything that causes a block update in that edition. (Note that what causes a block update and how they propagate is very different between Java Edition and Pocket Edition.)

When it detects something, the observer emits a redstone pulse, powering redstone dust, redstone comparators and redstone repeaters, as well as powering mechanism components located at its opposite end with power level 15 for 2 game ticks (1 redstone tick). In the Java Edition, the observer outputs strong power, and can strongly power blocks like a redstone repeater. It also has a delay of 1 redstone tick before emitting a pulse.

In Pocket Edition, the observer emits the same kind of pulse as the Java Edition observer, except that it does not strongly power blocks, and the observer outputs activation power only, similar to a block of redstone. It is supposed to have a delay of 1 redstone tick like the Java Edition observer, but in practice it has a 2 redstone tick delay, due to MCPE-15793, a bug causing redstone delays to be incorrect when components are activated by world changes (which, in the case of the observer in MCPE, is the only way it can be activated), as opposed to pure redstone components ticking.

It also counts as a block change/block state change/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.

Observers behave as a transparent block even though they block light. This means 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 basic 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), though it has different limitations. Observers in Pocket 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.

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 which side was front/back. He said it was inspired by the "rejected texture" created by Tommaso Checchi.