Minecraft Wiki
Advertisement

The Block Update Detector, or "BUD switch", is a redstone mechanism that exploits bugs and quirks in the game in order to detect changes in nearby blocks. There are many different designs, but they are all based on the same general idea: a redstone circuit is put in a state that should be unstable, but is stable due to some block within not being notified of changes in the circuit that would otherwise affect it. This lazy block then functions as the "sensor". When an adjacent block changes state in some way, it sends a notification to the sensor block and "wakes it up". The circuit then performs some other action and goes back into the sleeping state.

The method was discovered by Cored.[1] It was later popularized by Etho and further developed by many different players.


What it detects

The BUD switch detects the following events when they happen next to the sensor block:

Types of BUD Switch

Redstone Torch Based

This type of BUD Switch developed by my friend Ranjax while building a T-FlipFlop is very compact and uses very few resources.

A downside of this BUD Switch is that it generates random pulses Note: This will turn into a clock if not built properly

To Build:

  1. Place a block with a Redstone Torch on the left side of the block
  2. Put a Redstone Repeater at the back with its output side connetcted to the block
  3. Put a Lever on the front of the block and activate it.
  4. Put another Redstone Torch on the right side of the block
  5. Turn off the Lever and destroy it
  6. Add two more Redstone Torch to the remaning sides of block (Top and Front)
  7. Finish

Water Based

This BUD switch takes advantage of the fact that water flows toward the nearest hole, but it doesn't notice new holes until it is updated for some other reason. The water source block acts as the sensor. Though charming, this design is dated and is more complicated than newer designs.

File:Water bud switch complete.png

Water+boat BUD switch, complete

File:Water bud switch lower layer.png

Water+boat BUD switch, hidden details

Piston Based

Many BUD switch designs exploit a bug in the way pistons are powered. A piston can receive power through the space directly above it, as if it were two blocks high. In this case, the power source is either above and to the side of the piston, or two blocks above it. However, when powered in this way, the piston does not immediately notice changes in the state of the power source. When some other block update happens next to the piston, it will "wake up" and react to the change. By forming a loop, where the state of the piston controls the state of its power source, it becomes the sensor of a simple BUD switch:

File:Basic piston bud switch.png

A simple piston-based BUD switch. The piston is sticky.

In this design, the piston will only extend in response to an adjacent block update, but after extending it will immediately retract because the arm of the piston notices the repeater next to it turning off. This is how a piston BUD resets itself: by having the power run next to the extended piston arm, with a delay.

This design can be extended with multiple sensor blocks. All of the pistons in this design are sensors.

Piston bud array

A piston-based "BUD array", with multiple sensor blocks. All the pistons are sticky.

Stuck-Piston Based

The following designs work because pistons can't be pushed by other pistons while extended. And when a piston retracts, it doesn't notify any other pistons that were trying to push it. The piston with the block attached to it is sticky and acts as the sensor. This design has the advantage of a low profile, and also that the quirk it exploits is less "buggy" and less likely to be fixed in the future.

Stuck piston bud

A "stuck piston" BUD switch. The piston with the block attached to it is sticky.

Inline stuck piston bud

A "stuck piston" BUD switch. Neither piston is sticky.

The latter design above can also be extended to an array in a variety of ways, including a one-wide design.

Inline bud array

A very compact "in-line" BUD array. Every piston is a sensor except the one next to the obsidian. None of the pistons are sticky.

One wide inline bud array

A one-wide BUD array. Every piston is a sensor except the one next to the obsidian. None of the pistons are sticky.

The stuck-piston principle can also be used to hide a BUD completely underground, as shown by this video: Underground BUD Switch

Detector Rail Based

It is possible to create a BUD switch by using detector rails and mine carts. Here's an example.

File:Detector rail BUD switch.png

The right piston detects updates. Detector rail is under the mine cart.

Stickless piston based (it requires only 2 default pistons)

Stickless-Bud Switch (bud swith without slime balls)

Because slimes are hard to come by,i designed a budswitch that does not use any sticky pistons,it uses only 2 basic pistons tutorial: http://www.youtube.com/watch?v=0-tvGaEeNAA&feature=plcp&context=C4819ae8VDvjVQa1PpcFPZmqzfFaZ6Pdf9_RLTd1soJv2-2HloYPY=

Variations

Other devices can be built using the same underlying principle as the BUD switch.

T-BUD

By eliminating the reset mechanism of a BUD switch, it becomes a T-BUD or Toggle-BUD. This device has two stable states, which it switches between when it detects a block update next to the piston. This is equivalent to a normal BUD connected to a T Flip-Flop, but much simpler to build. It is useful for tracking the state of blocks like furnaces, grass/dirt, and beds.

T-bud 1

T-BUD in first state

T-bud 2

T-BUD in second state

References

Advertisement