![]() |
VOOZH | about |
TNT duplication is sometimes needed on a large scale, for machines like ender pearl cannons and long range TNT cannons. The goal of a large TNT duplication machine (commonly called a "TNT duping array") is to duplicate large amounts of TNT and transport it all to a single position before it explodes, so that it can be used by some other machine.
All of the following strategies for duping TNT are based on a line of TNT which is pushed into a coral fan. It is important that the coral fan's support block moves before any of the TNT is replaced by moving blocks, because that support block becoming a moving block is what causes the coral fan to break and send updates. We need it to send updates after the piston has made a list of blocks to push, but before any of the TNT blocks have been removed from the world. Because of these constraints, coral fans allow at most 10 TNT to be duped; we push 10 TNT, the coral fan, and its support block for a total of 12 blocks which is the push limit of the piston. In every case where coral works you can also use a powered observer, since powered observers send updates when they are replaced. Using a powered observer allows up to 11 TNT to be duped, but it has the downside of being slightly harder to wire because you need to get the update from the observer's powering side to the TNT, which usually requires some amount of rails or note blocks to chain the update. You also need to update the observer at the right time to make it be lit when the piston pushes, which adds more complexity. We will use corals for all the following examples, but keep in mind you can always use an observer for more TNT at the cost of more complexity.
The most common and simple way to duplicate TNT at large scales is to do the following in order:
Instead of budding the TNT, you can also BUD redstone dust which will power the TNT directly. One of the most common ways to do this is by 0-ticking a lit observer into another lit observer. When an observer is activated, it schedules a block tick at its current position to turn on. When it turns on, it schedules another block tick at its current position to turn off. Before that second scheduled tick has executed, you can 0-tick another powered observer into the same position, and it will not send updates because it does not change state. The pulse has to be 0 or 1 tick, since a 2-tick pulse would be too slow and the scheduled tick to turn off the observer will execute before the lit observer can arrive. Therefore, the full process is:
Finally, we can attempt to get rid of budding completely and directly turn on a line of redstone dust from the piston push. This doesn't work intuitively, however: Moving blocks do not send block updates soon enough to dupe TNT, which means that even if we set up dust to be un-cut by a moving block, it will turn on too late. Therefore we still need coral to update the dust, which gets budded directly by the moving blocks since they only send shape updates but not block updates. Then, since the coral is too far from the newly budded dust to update it, at least 2 other blocks are needed to chain the update. However, although this sounds complicated, the wiring turns out to be very simple. This style of TNT duper is instant and clocks at maximum speed with minimal build effort, using only 2 pistons and some redstone dust, which makes it useful for when you need a lot of TNT but don't have many resources. The overall process looks like:
This section will cover the most common types of layouts for duplicating large amounts of TNT. They can be broadly categorized into two groups:
Flat dupers with only slime bar compression are limited at 1672 TNT. Any more TNT than that requires additional complexity in the compression, like multiple layers of slime or a conveyor. Vertically stacked dupers, for comparison, are limited at 5852 TNT using only slime bars. That layout is 4 times less wide than the corresponding maxed-out flat duper, meaning that vertically stacked dupers can actually fit 23408 TNT in the same horizontal space. For this reason it is generally best to use a flat duper for small applications, with less than ~20k TNT, but above that it's usually better to switch to vertically stacked dupers.
One of the most common flat TNT duping layouts is based around budding TNT using redstone dust redirection. We alternate dust on both sides of the TNT, and BUD conductive blocks above the TNT. This allows the TNT itself to tile 2-wide, since we alternate TNT and wiring.
There are many ways to power the redirection sticky pistons. Most commonly they are powered by a line of redstone blocks that gets pushed, or by a line of redstone dust. The moving redstone block version is about twice as lag efficient on the server since it has less redstone dust power level changes, but it is also about 25% more laggy on the client from all the moving blocks.