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 you send a redstone signal 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 pulse 1 tick long, it will begin to retract instantly and end up being unable to retrieve the block so soon after pushing it, while also be able to instantly push again. No matter there are mutiple blocks to be pushed or not, the blocks in front of the sticky piston will be pushed or pulled instantaneously. Oddly enough, this does not work on non-sticky pistons.

Using incredibly specific redstone timings, you can make a piston be powered and depowered at the same time. If you have slow-motion capabilities, you can see this odd behavior in action. This happens when the redstone pulse powering the piston lasts only 1 game tick, which is one half a redstone tick. It is called a 0-tick pulse for this reason.

How To 0-Tick A Piston
Reasons for why you would do this vary, and they are covered later in this tutorial. There are a few ways to send a 0-tick pulse.

Using Redstone Timings
Although repeaters and comparators have the same delay by default (1 redstone tick), comparators are handled one game tick after repeaters. Using this, you can make a signal cut-off circuit that produces a 0-tick pulse.

To do so, the 0-tick redstone line should be able to 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 you power this input, you should have a 0-tick pulse coming through the output wire, though it will be difficult to see this because it is almost seven times faster than a blink of an eye.

Using Observers
When an observer block detects a block update, it sends a redstone signal for less than a redstone tick. Using this, you can make a signal cut-off circuit that produces a 0-tick pulse.

To do so, you must place an observer block with the output facing the piston. Then simply create a block update by placing a block in front of the observer block.

Uses of 0-Ticking
A comparator does not react to a 0-tick pulse, and the pulse will lose its effects if the signal goes through a repeater. The most effective uses come from 0-ticking a piston.

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 sign 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 down a chorus flower near bedrock level and the flower's endstone is 0-ticked over and over again until it reaches the sky build limit, and 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刻活塞