Redstone Repeater

 For the advanced redstone circuitry, see Redstone circuits.

A Redstone Repeater has three main functions: acting as a repeater, a diode, and a delayer. The block repeats signals it receives like a network bridge, so that using two not-gates every 15 blocks is no longer necessary. Signals are also accepted only in some directions, allowing the block to function much like a diode in an electrical circuit. It also delays the signal by 1-4 ticks (selectable) so that long timing circuits of inverters will not be required for timed mechanisms any longer. Existing (traditional) repeaters/delayers will still work.

Uses
The repeater has multiple uses due to its complex nature. Each possible function is described below. These functions may be exploited in tandem to reduce the required number of repeaters in a circuit.

Repeater
The primary function of the repeater is to "refresh" the redstone signal passing through, allowing it to travel another 15 blocks. Previously this could only be accomplished by using one/two NOT gates.

As Wire/Diode
The repeater only accepts input from its "back" (the side closest to you when you place it) and only sends output to its "front" (the opposite side). It does not interact with any of its other neighbouring spaces. This makes it quite useful in tightly packed circuits.

Any of the following can serve as the input to a repeater when placed directly behind it:
 * A piece of redstone wire, which will automatically attach itself to the repeater
 * A redstone torch
 * A block charged by wire or any other method
 * Any type of switch (lever, button, pressure plate, etc.)
 * Another repeater pointing in the same direction

Any of the following will receive a repeater's output when placed directly in front of it:
 * Any piece of redstone wire, regardless of orientation
 * Any type of block that can be charged (which will then propagate the charge in the same way as when placed over a torch)
 * Any device that can be controlled by redstone (door, minecart track, note block, etc.)
 * Another repeater pointing in the same direction

Notable repeater behavior includes:
 * A block receiving a repeater's output directly will then propagate the charge (in the same way as when placed over a redstone torch)

As Clock/Delay
By right-clicking on the repeater, you can set its delay from 0.1 to 0.4 seconds. Longer delays can be made with multiple repeaters; for example, a repeater set to '4' and another to '1' will give a half second delay (0.4s + 0.1s = 0.5s).

Repeaters greatly simplify the construction of delay lines and provide far more granular timing than chains of redstone torches. For example, a repeater with a long line of redstone for delay would blink faster than the same design with repeaters set to four every other piece of redstone, allowing for more compact slowed down clocks.

Previously, the simplest possible clock was a "5-clock" made by chaining five redstone torches (which actually has a period of 10 ticks—5 on and 5 off). This same clock can now be implemented with only one torch and one repeater, connected in a loop, with the repeater delay set to 4 (the highest setting). Setting the delay to 3 yields a 4-clock, which requires some fancy wiring to build from torches alone. With a delay lower than 3, the torch in this circuit burns out. However, repeaters don't burn out the way torches do. If two repeaters with the same delay are connected to each other in a loop and a short pulse is introduced externally, the pulse will bounce back and forth between the repeaters indefinitely. With the delay set to 1, this circuit has a period of 2 ticks, making it a 1-clock.

Songs/Note Block usage
The Redstone repeater is often used in combination with note blocks. In the making of a song, several repeaters are used to create rhythm in a song.

Propagating Charge Downward
Repeaters can be used to propagate charge downward. This can be used to completely 'hide' redstone circuits below 1 risen block with a button or switch. Previously, you would need at least 2 risen blocks to hide the tunneling redstone wire. You can also create a 1 width (3-17 length) column to propagate charge downward. Previously, the smallest width column that could be used was a 2x2 column.



It is much easier to learn this technique by starting at the bottom and building upwards. Once you understand, you can also easily build it downwards. If you are building a long 1x3 column and are unable to move into adjacent blocks outside the column, you MUST start at the bottom.

Place a piece of redstone wire on the lowest point you want charge. Place a block beside the wire. Place a repeater on that block, pointing towards the wire. Then, place a block above the redstone wire. The repeater should be pointing directly into the block. This will propagate charge from the repeater, into the block, downwards into the redstone wire. When the repeater is powered, the block behaves as if it were a redstone torch, powering all adjacent blocks above and below, except for the repeater itself.

To lengthen the chain; place a block behind the tallest repeater. Place redstone wire on that block. Place a block above that redstone wire. Place a block above the tallest repeater. And place another repeater on that block, pointing in the opposite direction. Repeat if you require more height. You will end up with a 1x3 column of blocks, with repeaters "stacked" in the middle with alternating directions. This column will delay the circuit 1 tick for every (length - 1) blocks downward, 1 tick per 2 blocks downward at the smallest length (3). You can use either a 2x2 column or a 1x17 column for the smallest delay per depth traveled, 1 tick per 16 blocks.

Delay line memory
With simple and accurate delay circuits comes the potential for delay line memory. Using repeaters, such memory can, in fact, be built on a two dimensional plane, like the 900 bit grid on the right, with a density of 1 bit per square, far denser than any memory cell that can be built with torches (around 9X as dense (not including the amount of room required for input/output/reset wiring)). There can even be multiple layers, similar to a parking deck, where the last repeater on the grid winds up a short spiral staircase to the next level, where the grid goes back. This can be repeated for as many levels as needed, as demonstrated by the 3280 bit grid shown on the bottom right.

The only downside is that it is harder to see the data stream, and therefore it is harder to know when to safely inject data into the memory stream. If the input and output sources are given many repeaters to a remote, possible even underground location to get the grid out of the way, the memory size is limited only by the amount of free space. To reset the memory grid, simply remove one repeater, or preferably, one redstone anywhere on the line and wait for the data to get flushed out, alternatively you could have a conjoining redstone line extend two blocks downwards and link a sticky piston so that when it is activated; it cuts the circuit by pushing a block in front of the redstone making its journey downwards. Since this can be done from a great distance, it's far more effective than simply removing a redstone piece. If the grid is in a remote location, then at the loop around of the remote grid, it could form a detour, using repeaters as necessary, to have a piece of redstone accessible, then have it go back into the main grid. It should be noted that in larger grids, such as the 900 bit one shown, distant repeaters may not update their graphics, making them appear frozen, but the data stream will still get carried on anyways, regardless of the graphics.

Some possible uses of delay line memory include knowing how many times a person walked through a door, or which way (useful for counting players that raided your base in SMP) the intruder went, by having the inside inject a 0b101111101 and the outside pressure plate inject a 0b101000101 data stream into the memory (101 tags indicate that it is a door sequence, or even which door it is, and the 111 or 000 says which way they went). Using this method, if one sees a 0b101000101.......101000101.....101111101.................//................0b101000101.......101000101.....101111101........., he or she can know that one intruder is still in the base. However this type of system may run into overwriting issues.

Another use of these circuits is for strobe light effects. One can imagine lining the edges of their roof and the perimeter of their house/castle and looping the output underground back to the beginning, and adding a temporary lever to use to input a random strobe sequence until the strand of light is full of a pattern that one likes, then one removes the lever and watches the strobe light running around their house.

Bugs

 * If you shoot an arrow onto a repeater, and the state of a repeater is changed(the repeater turns on or vice versa), the arrow will vibrate while making the sound of the arrow sticking to a block.
 * Since at least version 1.2.3, Redstone repeaters increase the length of short(one to three ticks) pulses of power. When the delay setting on a repeater is a larger number of ticks than the incoming pulse, the outgoing pulse is increased to the length of the delay on the repeater.

Trivia

 * It was originally implemented by Jeb. Originally the 4 possible settings were "1, 2, 5 and 7", but this was changed to "1, 2, 3, and 4" for simplicity's sake.
 * The block looks like two shortened redstone torches attached to a stone plate, that has the texture of the top of the old stone slab but with an arrow on it that denotes the direction of the current, for simulating diodes.
 * If a Repeater is in a 2 block high space, like a tunnel, you will appear to sneak automatically as you walk over it. However, you will not sneak if the repeater is blocking the entrance of a tunnel. Your player animation does not change and you are not slowed down; you aren't actually really sneaking.
 * You can link many repeaters together by placing a line of redstone on top of any block and then activating the redstone. As seen/used in this video Redstone arrows floor
 * If you save your world then come back to it any chains of redstone repeaters stay in the state of which was logged off. They do not change until a neighboring block is updated. Some ways to fix it can be seen here.
 * If you change the time in a SMP server using an ops command, the repeaters will lock in the state that they were in when the time changed, and will freeze in the state unless they are moved to a different block. The block they are on will always freeze a repeater placed there following this.
 * If you set the repeater to delay 4, it can stop a pulse that would burn out a Redstone Torch.
 * In the coding, it is referenced as "diode".
 * The reason why the torches look shorter is because the torches are actually off set from its y-axis.
 * Repeaters can be used as one-way doors by placing the repeater under an arch. The arch can only passed through if there's a block overhead on the side you're trying to enter it from.
 * When hitting the non-powered repeater with arrow, and then powering repeater the arrow shall make the sound of arrow stuck in a block.
 * If a redstone repeater is placed on the last layer of bedrock on superflat, and one was to break said repeater, they would fall through the bedrock with no hole for the player to go through.

History
Before 1.0 repeaters would hold what state they are in when the game is quit but when the save was reloaded they would not pass on power. This meant that clocks had to be restarted every time you played the game. Several reboot systems were developed for this purpose.

Since Beta 1.7 redstone will now automatically face towards redstone repeaters like any other redstone mechanism. This was not the case in Beta 1.6.6 and earlier.

Prior to beta 1.6, the particles generated when the block was destroyed looked like those of a Pumpkin.

As of the Beta 1.3 release, a device placed directly in front of a repeater exhibits some strange behavior. If the input to the repeater is a redstone wire or torch then the effect on the device seems to be inverted, and if the input is anything else then the device isn't affected by the repeater at all. When the repeater and device are connected by wire, everything works as expected.

Another bug in the Beta 1.3 release is that repeaters fail to update their state when their input is a block being charged by a redstone wire and the piece of wire right next to the block is destroyed. If the wire is powering the repeater when it is destroyed then the repeater will stay on until some other event triggers an update for it, like placing a block next to it.