REDSTONEPEDIA › Circuits › Block change detectors (BUD switches)

Block change detector (players call it a BUD)

notices blocks placed, removed, changed, updated · 3 blocks

Fires its output when the block next to it (the cell marked TARGET in the 3D view) is placed, removed, changed or updated with nothing changing, without any redstone signal reaching it: a block update detector (BUD).

notices a pure block update and resets itself; the simpler 2-block BUD switch (a sticky piston and a redstone block) latches until you reset it; for visible block changes a single observer is enough · reacts in 3 ticks (0.15 s) · 1 tick (0.05 s) output pulses · ready again after 6 ticks (0.3 s) · made of redstone block, slime block, sticky piston · fits in 1×4×1

notices blocks placed, removed, changed, updatedBlock change detector3D view loading (or not available in this browser)

Try it

Press play under the view to watch the demo: a block is placed, removed and changed at the cell marked TARGET, and a block next to it is updated with nothing changing (what only a true BUD notices); the box marked OUT turns red when it fires.

How this design does it: The classic BUD: it sees blocks placed, removed or changed next to the target and pure block updates, which no observer can see: the smallest, 3 blocks.

Build it

Download .litematic Download the design as text

The .litematic opens in Litematica (Minecraft 26.3): every block of the design in one region. The text file is the same build written as plain text, block by block.

Blocks used: redstone block slime block sticky piston

Details: how it works, measurements and properties

In depth

A block change detector (players call it a BUD switch, for block update detector) fires its output when something happens at its target cell, next to it, although nothing there powers it. There are five kinds of change: place (a block placed), remove (removed), state (the block changes state), shape (a change that sends shape updates only, the way crops grow) and update (a block update next to the target with nothing changing). Each change it detects gives exactly one output pulse, and nothing fires in between.

This design detects place, remove, state, update; it does not see shape.

Each detection gives a 1 tick (0.05 s) output pulse, 3 ticks (0.15 s) after the change. It can detect the next change 6 ticks (0.3 s) later (re-arm). Two changes close together jam it: update pair 2 ticks (0.1 s) apart.

The simpler 2-block BUD switch (a sticky piston and a redstone block) latches until you reset it; for visible block changes a single observer is enough.

How to try it

Press play under the view to watch the demo on a loop: a block is placed, removed and changed at the cell tagged TARGET (in cyan), and the badge names each step (the same sequence is drawn as a timing diagram below). The output is tagged OUT: watch it fire on the changes the design detects. Touch any control to stop the demo; drag to look around, pinch or scroll to zoom.

Inputs and output over time

The target cell changes on this schedule (the TARGET row: green = a block placed or changed, red = removed, purple = a shape-only change, blue = a pure update with nothing changing; each phase's name says which change it is). Orange: the output is on. Time runs left to right in game ticks (20 ticks = 1 s).

idleplace #1place #2place #3idleTARGETOUTticks010020030040050060070080090010001100120013001400150016001700180019002000210022002300240025002600270028002900300031003200330034003500360037003800390040004100420043004400450046004700480049005000510052005300540055005600570058005900600061006200630064006500660067006800690070007100720073007400750076007700780079008000810082008300840085008600870088008900900091009200930094009500960097009800990010000101001020010300104001050010600107001080010900110001110011200113001140011500116001170011800119001200012100122001230012400125001260012700128001290013000131001320013300134001350013600137001380013900140001410014200

Swipe the diagram sideways: the whole sequence lasts 14316 ticks (11 min 55.8 s).

Step by step (25 lines)
  place 1 t: +3 for 1
  remove 1 t: +3 for 1
  place 2 t: +3 for 1
  remove 2 t: +3 for 1
  place 3 t: +3 for 1
  remove 3 t: +3 for 1
  state 1 t: +3 for 1
  state 1b t: +3 for 1
  state 2 t: +3 for 1
  state 2b t: +3 for 1
  state 3 t: +3 for 1
  state 3b t: +3 for 1
  shape 1 t: no output
  shape 1b t: no output
  shape 2 t: no output
  shape 2b t: no output
  shape 3 t: no output
  shape 3b t: no output
  update 1 t: +3 for 1
  update 2 t: +3 for 1
  update 3 t: +3 for 1
  rearm update: 30 ticks (1.5 s): 2 pulse(s), 20 ticks (1 s): 2 pulse(s), 15 ticks (0.75 s): 2 pulse(s), 10 ticks (0.5 s): 2 pulse(s), 8 ticks (0.4 s): 2 pulse(s), 6 ticks (0.3 s): 2 pulse(s), 4 ticks (0.2 s): 1 pulse(s), 2 ticks (0.1 s): 1 pulse(s) (stuck on)
  rearm state: 30 ticks (1.5 s): 2 pulse(s), 20 ticks (1 s): 2 pulse(s), 15 ticks (0.75 s): 2 pulse(s), 10 ticks (0.5 s): 2 pulse(s), 8 ticks (0.4 s): 2 pulse(s), 6 ticks (0.3 s): 2 pulse(s), 4 ticks (0.2 s): 1 pulse(s), 2 ticks (0.1 s): 0 pulse(s) (stuck on)
  rearm place: 30 ticks (1.5 s): 3 pulse(s), 20 ticks (1 s): 3 pulse(s), 15 ticks (0.75 s): 3 pulse(s), 10 ticks (0.5 s): 3 pulse(s), 8 ticks (0.4 s): 3 pulse(s), 6 ticks (0.3 s): 3 pulse(s), 4 ticks (0.2 s): 2 pulse(s), 2 ticks (0.1 s): 0 pulse(s) (stuck on)
  footprint: 1 target(s) + probe cells {0, 3, 4, 5} of 13

Measurements

metricvaluewhat it means
detectsplace remove state updatethe kinds of change at the target that fire the output (place, remove, state, shape, update)
latency3 ticks (0.15 s)game ticks from the change at the target to the output pulse
pulse1 tick (0.05 s)the length of each output pulse
re-arm6 ticks (0.3 s)the shortest time between two changes that are both detected
jamsupdate pair 2 ticks (0.1 s) apartchanges too close together for it
footprint5 cellsthe cells around the design that must be left alone for it to work
tileableevery 2 (0 0 2)

Notes from its designer

The classic BUD: it sees blocks placed, removed or changed next to the target and pure block updates, which no observer can see: the smallest, 3 blocks. A sticky piston under a slime block and a redstone block is powered without having noticed it (the power reaches it only through the block above it, called quasi-connectivity); the first update makes it notice and lift the redstone block past the output for a moment, then pull it back, armed again. Detail: the landing slime block updates the piston through its head so it retracts, the redstone block landing last, so it re-arms without an update. A change by shape alone sends no block update: not detected; two updates 2 ticks apart jam it.

Properties

StudyBlock change detectors (BUD switches)
KindBlock change detector (players call it a BUD)
Blocks placed3 (not counting the lamp the view adds)
Box1×4×1 (4 blocks of space)
Made of (the blocks that change state)oak log, redstone block, slime block, sticky piston
Inputs / outputschanges at its target cell / OUT
Design filebud-slime-qc

The design file

on GitHub

Design file (20 lines)
# Block change detector: notices blocks placed, removed, changed, updated · 3 blocks
# https://vjeux.github.io/redstonepedia/circuits/bud/bud-slime-qc.html
name: bud-slime-qc
circuit: bud
tile: 0 0 2
origin: 0 0 0
port target: 1 0 0
port output: 1 3 0
palette:
  P minecraft:sticky_piston[extended=false,facing=up]
  S minecraft:slime_block
  R minecraft:redstone_block
layer 0:
  P.
layer 1:
  S.
layer 2:
  R.
layer 3:
  ..