Tuesday, August 16, 2011

Minecraft - repeaters tutorial plus bug

For anyone trying to lay out long circuits in Minecraft a simple problem will arise - redstone wire will only transmit power for 15 blocks before failing. The solution is to add in a repeater that will retransmit the power over another 15 blocks, however repeaters can do other things too, some of which can be quite odd.

Besides boosting the power transmission the main point regarding repeaters is that they only accept input from one direction and only output it in a straight line; as such when a repeater is placed the player has to be facing the direction that they want the power to travel. As such repeaters can act as blocks to ensure power doesn't feed back in a loop by ensuring power flows in only one direction.

Repeaters can also act as a delay. By default they'll transmit power at the same speed as redstone wire (1 tick) however by repeatedly clicking them this can be extended to 2, 3 or 4 ticks.

Next is that repeaters will only accept power from the same level they're on. Feed power into a block and stick a repeater on top and even if it is orientated correctly it will receive no power. This means that a repeater will not respond to a lever or button attached to the same block.

In the same way it will only provide power to blocks on the same level.

However there's a catch:

As can be seen the repeater can provide power one block lower if said block can use it or, given a block above it, if said block can transmit it. Replace the wire with a normal block and it will not be powered.

There is however a bug particularly noticeable with pistons when combined with a repeater acting as a delay.

In its initial state as expected nothing happens, when powered again nothing happens as the piston is not in place to receive power from the repeater or the wire. However turn the power off and the piston extends. Turn the power on and it retracts, off and it extends. But there's no power feeding into the piston. Replace the air gap with a block and the behaviour persists. The block between the wire and the repeater output block is powered when there's no power being provided a NOT gate without a redstone torch.

The ability of repeaters to jump blocks can be useful, but can also be problematic in tight circuits when this behaviour can cause other circuits or mechanisms to trigger.