Redstone Repeater

A Redstone Repeater is a special block that interacts with Redstone, being one of many which do. It has three main functions: acting as a repeater, a diode, and a delayer. Most likely, the reason they are called 'Redstone Repeaters' is for their primary use of repeating signals, since Redstone only travels up to 15 blocks without a signal booster. However, signals are only accepted in 3 directions: Either side (see below), front (output), or back (input). 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 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 16 blocks. Previously this could only be accomplished by using one/two NOT gates. However it is worth noting that although the delay and size is smaller than using NOT gates, it is almost impossible to extend a signal more than 16 blocks without at least a one-tick delay.

As wire/diode
The repeater accepts input from 3 possible points: its back (the side closest to you when you place it) or its sides, but only sends output to its "front" (the opposite side). It only interacts with its sides if another repeater is to be placed facing that side, in which it will now be a latch (see below), other signals are only accepted at its back.

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 powered repeater pointing in the same direction placed at the back of it

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 placed at the front of it

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 2 to 8 game ticks (in multiples of 2). Normally, this corresponds to a time delay of 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.

For an extremely long delay, hook up two pulsars to an AND gate. As an example, a pulsar with a tick delay of 50 and a second pulsar with a delay of 51 will ultimately give you a delay of 50 × 51, or 2550 ticks (255 seconds). This is because the two pulsars will not both be powering the AND gate until they reach their least common multiple (2550 ticks).

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.

Latch


You can create a latch by combining two Redstone Repeaters: The first provides input and output, while a second, pointing into the left or right side of the first, provides the latch functionality. When the second repeater is powered, the first is "latched", and will remain on or off even if its input changes. (Visually, the latched repeater's delay switch is replaced by a crossbar.) When the second repeater is turned off, the first one will go back to repeating its input faithfully. Note that this is not simply a matter of powering the first repeater from the side, as redstone dust, levers, etc., will not latch a repeater.

This provides the equivalent of a Gated D Latch. Two such latches can also be combined to produce a "flip-flop", aka "toggle", circuit.

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 (or you can use an upside-down half-slab, but this will only work if the floor is of the same material). 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.

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

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.

In 1.3.1, redstone repeaters can be found inside jungle temples, which is a part of a puzzle mechanism. This is the first time a repeater can be found generated in the world.

Jeb planned to add latches as a block. Instead, the functionality was added to the redstone repeater itself, in 12w42a. The redstone repeater texture was also slightly changed for the lock feature.

Bugs

 * If you shoot an arrow onto a repeater, and the state of a repeater is changed(the repeater turns on or off), 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.
 * In 1.4pre, placing a Redstone Torch next to an unused repeater will cause the repeater to flicker briefly.
 * If you have too much redstone running on one repeater, (i.e. more than one line of redstone), repeaters hold charge and won't function right untill you re-place them. Still looking for a solution.

Trivia

 * 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 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.
 * 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.
 * If the player shoots an arrow onto a repeater, every time the repeater changes state it will make the sound that arrows make as they make contact with a block.
 * If a repeater (Lets call this one 'Repeater 1') is facing another repeater (Repeater 2), and repeater 1 is turned on, repeater 2 will not be toggle-able, and the moveable redstone torch will change into a bar the same colour as bedrock.