05 Why Your Tree Farm Stalls — Introduction to Dustless Wiring
Many of you have probably been waiting for this. Dustless tree farms have become a popular way to "flex" in recent years. However, Xinghe has always emphasized:
Dustless has never been the goal—it's a means to an end. The ultimate objective should be to reduce lag, not to force dustless designs. Forcing dustless designs can easily lead to increased lag, which goes against the very point of dustless wiring.
Once we understand this, we can truly make good use of dustless wiring.
Now let's walk through the main methods of dustless wiring.
1 Rails and Observers
Rails emit PP updates simultaneously when their activation state changes, and can be detected by Observers. Together, they form the most basic dustless signal transmission method.
In tree farms, Pistons are generally arranged vertically. We only need to activate a vertical column of Observers simultaneously to activate an entire row of Pistons at once. There are two basic approaches: pushing the Observer itself or the block the Observer is facing with a Piston. Resetting this row can be done casually
Since Observers have a built-in 2gt delay, we can use them to build macro-level timing circuits. There are already many examples of this, so we won't analyze them in detail.
You can also use BUD rails for zero-delay signal transmission:
2 Tree Power / Scaffolding Power / Wall Power
There's also water power, but since nobody uses it, we'll skip it here
2.1 Tree Power
Starting from 1.14, after receiving a PP update, leaves schedule a tick (if in TT, it executes immediately; otherwise it executes in the TT, 1gt later) to check their distance from logs. If the distance changes, they emit NC and PP updates. In tree farms, we generally push or pull logs with Pistons or Slime Blocks to trigger distance changes.
In fact, tree power's update mechanism works somewhat like Redstone Dust: it checks the distance of surrounding logs and leaves. If there's an adjacent log, it sets its own distance to 0; if there are no logs around, it sets its own distance to the minimum distance of adjacent leaves plus 1.
With tree power, we can create many useful odd-gt delay devices, such as making an upward-pushing column start pushing downward at 3gt.
Tree power detection takes advantage of the fact that tree power has zero delay within TT. The tree farm's growth module runs within TT, so trees inevitably grow and place logs within TT. Therefore, leaves immediately execute the check within TT, then emit NC and PP updates, triggering the BUD and achieving growth detection. However, due to space constraints, this approach is almost no longer used.
2.2 Scaffolding Power
When a scaffold receives a PP update, it schedules a tick to check its horizontal distance from the supporting block. If the distance changes (and is not greater than 6; greater than 6 will cause it to drop), it emits NC and PP updates. Scaffolding power adds 1gt delay per scaffold. We generally trigger it through trapdoor state changes below the scaffold.
Generally, we use scaffolding power to create odd-gt delays it looks similar to tree power, and the use cases are almost the same
Like tree power, scaffolding power runs within TT. If it can confirm the change in distance from the supporting block within TT, theoretically it can achieve zero delay. However, scaffolding power still feels somewhat unpredictable in current practical applications (
2.3 Wall Power
Starting from 1.16, if there are connecting blocks on both the x and z axes, the wall is low; otherwise it's high. If there's one high wall in an entire column of walls, then starting from that wall, all walls below become high walls (low walls don't override). We generally trigger wall state changes by opening/closing fence gates above the topmost wall or opening/closing doors/trapdoors on the side.
Additionally, walls actively connect to certain blocks above them. Whether a wall is connected is also a wall state, which can be used to redirect block streams upward.
Walls are instant components. All wall state changes emit PP updates and can be detected by Observers.
Designs that push the connecting blocks or even the walls themselves also exist, especially for single-edge wall power. For more detailed content, refer to Dongdong's video
3 Signal Transmission Without Macro Delay
The signal transmission methods above all have macro delay. If you tried wiring after reading the previous section, you probably found that we really need signal transmission methods without macro delay. Here, let's look at the two most important signal transmission methods without macro delay in dustless wiring.
3.1 Slime Sticks
Slime sticks, as the name suggests, use Slime Blocks to pull things and transmit signals. When a Piston pushes or pulls a chain of blocks, it deletes the blocks from their original positions during the BE phase, so it can change another Piston's activation state within the same gt, eliminating macro delay.
For sticky Pistons in such chains, falling edge transmission has no macro delay, but rising edges have 3gt delay per Piston. So what do we do? Generally, we add an auto-reset device to each stick that resets at 3gt, allowing them to reset synchronously and output rising edge signals in sync.
3.2 Rails + BUD
Remember that rails are instant components? By using rails to update BUDs, and having the BUD change the activation state of another chain of rails, we can keep the signal propagating within the BE phase.
These structures generally also have zero-delay falling edges (because in a dustless environment, our only wiring method that can output rising edges with zero delay is relatively complex) and auto-reset to output rising edges.
In fact, BUDs only need updates, regardless of whether it's a rising or falling edge signal. The distinction here is just for consistency with the earlier discussion.
4 Redstone Redirection
Since the English name is Redstone Redirection, we don't use the more common translation "转向"
This is the only method in a dustless environment that can output rising edge signals with zero delay, as mentioned earlier.
Redstone Dust only powers in the direction it points, so if we create a powered Redstone Dust that doesn't point in a certain direction, and then when a rising edge signal arrives, redirect it to point in that direction, we can output a rising edge signal in that direction with zero delay.
Redstone Dust is redirected by the following blocks:
- Repeaters, Comparators, tripwire hooks immovable
- Redstone blocks, Observers, targets, lightning rods, detector rails movable
Of these, the movable ones are the most important for practical redstone redirection.
Note that redstone redirection only produces PP updates. To activate certain components, we need to provide NC updates separately.
Here are a few components based on redstone redirection that see heavy use in tree farms.
4.1 Columns
This is straightforward: arrange several redstone redirections vertically. Naturally, you can arrange the blocks used for redirection in a column and move them up and down.
This gives us an entire column of synchronized redstone redirections, making it easy to activate an entire row of Pistons.
4.2 3gt Generator
This is a standard 3gt generator.
0gt BE: update the piston driving the upward-pushing redstone block column. The Redstone Dust redirects and points to the block that needs to be powered; the rail above receives the NC update from the column push and activates, sending an NC update to the Piston column; the Piston responds to the NC update and extends.
2gt TE: the redstone block column is in position, the powered Piston completes extension, self-checks, finds it's not powered, and schedules retraction.
3gt BE: the powered Piston starts retracting, the redstone block column starts pushing down at a slightly deeper position. Although this powers the target Piston, the target Piston will prioritize completing its retraction.
5gt TE: reset. The target Piston self-checks again, finds it's not powered, and doesn't extend.
This completes a 3gt push, 3gt pull Piston action, which is especially important in modern honey-slime tree farms.
Notice that if we don't give the target Piston an NC update at 0gt BE, but instead give it at 3gt BE, we can delay the target Piston's action by 3gt. This is the timing switching scheme used by perfect-timing all-tree-type farms: providing updates at both 0gt BE and 3gt BE. Since the target Piston is the second level of a two-level recursion, pushed into position by the first level, it won't extend from the first powering and will instead be activated by the second.
4.3 0t Generator
This is a simple 0t generator based on redstone redirection.
Basically, after the redstone redirection powers the target block and provides an NC update to make the Piston extend, remove the powered block, achieving 0t.
You can design many similar devices, including vertical stacking as mentioned in [5.4.1].
In fact, since there's only a single Redstone Dust here, directly removing its power source (the redstone block behind it) to create 0t won't cause much lag (roughly equivalent to 3 rails). If you're not aiming for completely dustless designs, this is also a solid wiring method.
Those are the basic dustless wiring methods. Let me say it again: tearing apart a few farms and wiring a few yourself is worth more than anything else. Don't skip hands-on practice.





