Tutorials/Zero-ticking

This tutorial seeks to teach the player how to make a redstone signal last 0 redstone ticks and go over how this could be used, particularly with its uses on pistons.

Introduction
When a redstone signal is sent through a pulse limiter, it shortens the pulse. When the pulse is shortened enough, strange behaviors arise. If a sticky piston is powered by a 1-tick pulse, it will push out but retract again instantly. This leaves it unable to retrieve the block it pushed, but also be able to instantly push again. Even if there are multiple blocks to be pushed, the sticky piston will be push or pull them instantaneously. Due to technical reasons, this does not work with regular pistons.

Using specific redstone timings, a piston can be powered and unpowered at the same time. Slow-motion tools can be used to see this odd behavior in action. This happens when a redstone pulse turns on and off in the same tick. In other words, it the pulse lasts 1 game tick or half of a redstone tick. Since it lasts less than 1 redstone tick, a pulse of this length has been nicknamed the "0-tick."

Creating a 0-tick pulse
Although repeaters and comparators have the same minimum delay (1 redstone tick), comparators are handled later in any one game tick after repeaters. This can be used to create a signal cut-off circuit that produces a 0-tick pulse.

To do so, the 0-tick redstone line should be powered through a block by a repeater. That block needs to have a sticky piston facing it, so when the piston is powered, the redstone line is not powered. Face a comparator into the piston so the piston is powered by the comparator and put the repeater and comparator on the same input. Now when they are powered, a 0-tick pulse should come from the output wire. It may be difficult to see since it is almost seven times faster than a blink of an eye.

Uses of 0-ticking
Since a comparator does not react to a 0-tick pulse and the pulse will lose its effects if it goes through a repeater, most 0-tick uses involve pistons. Pistons can be used to move blocks before the game has a chance to react as it normally would.

Swapping blocks
Let's say you have a item frame against a block and you want the supporting block to be swapped with a new block, without breaking the item frame. This is impossible to do under normal circumstances, but if you place the new block next to the one you want changed and use a 0-ticked piston to push it into place, the item frame won't break. This is because the blocks are shifted so quickly that the item frame does not have the chance to realize the attachment block moved, so it remains attached to the new block. This works for any entity that is placed against a wall, such as a painting.

Chorus plants
If end stone directly underneath a chorus flower is pushed by a 0-ticked piston, and another end stone takes its place, the chorus flower will instantly grow if it has the space, and instantly mature if it doesn't. Done properly, this can allow a farm to be built where the player plants a chorus flower near bedrock level and the flower's endstone is 0-ticked over and over again until it reaches the build limit where another player can break that chorus flower. Ilmango used this concept to build his chorus plant farm in this video:

Suffocation devices
Normally, when you power a sticky piston with a block on it towards a mob on the edge of a cliff, the mob will be pushed off the edge. However, if that piston is 0-ticked, the block it was pushing will instead end up inside that mob, possibly suffocating it.

教程/0刻活塞