Jump to content

Fully Passive (Single-input) Packet Stacker design, no valves. Works one way, but not mirrored - why?

Recommended Posts

My garbage-gas-line was clogging up due to the mini CO2 packets everywhere, so I set out designing something that would stack those tiny singlets into a single 1000g. I did some trial and error without checking the internet first, since that's the game, and found out it's commonly called a "packet stacker".

I wanted something fully passive, no shutoffs, sensors or electricity. This is what I came up with. Orange shows the layout of the underlying tubes.


As far as I can tell, it works. Then I set out building it inside my base, and quickly found out that when I mirrored the exact same layout, it would not work anymore, but spit out small double- or triplestacked packets.


I suspect the logic of when a packet turns left or right in a split is defined globally, rather than depending on where the packet came from. Maybe someone else can comment on it?

Anyway, I've found two working orientations so far, a horizontal and vertical one, so it's useful / possible to rotate it to a certain extent.

I haven't been able to find other compact pure mechanical stackers, instead I stumbled on lots of multi-packet designs with sensors. If there are some around please point me to them.

Link to comment
Share on other sites


I suspect the logic of when a packet turns left or right in a split is defined globally, rather than depending on where the packet came from. Maybe someone else can comment on it?

Great intuition. From our experiments, this is correct.

Pipe junction priority. For both types of pipe junctions (splits and merges), flow is prioritized on the available directions in order: downleftrightup. This simplification was recently solved by @Eldask (Discord).


Example 1. Splitting alternating hydrogen/chlorine.


The incoming alternating packets (first hydrogen, second chlorine) on the regular pipe split into 4 directions at the junction on the bridge output.


By the pipe junction priority:

  1. hydrogen, down;
  2. chlorine, left;
  3. hydrogen, right;
  4. chlorine, up;

Observe that we split hydrogen and chlorine on odd and even priorities respectively. Although we could have split the packets into two directions instead of four, this example shows the full set of priorities.

Example 2. Invariance on inbound direction.


We setup four identical reservoirs with three types of liquids sorted by density (water, salt water, then ethanol). Recall that reservoirs alternate the output over stored elements, which shows priority. Each reservoir is assigned to a cardinal direction as a inbound packet source. Given a reservoir output, we split the pipe into the remaining cardinal directions to show pipe junction priority given an inbound packet source.

The results are shown below.


Observe that for each inbound direction, the rule holds that downleftrightup, are prioritized if available (where the inbound direction is unavailable).

Practical applications. In practice, there is a major concern to be aware of: if the pipe network is ever reconstructed, then the priority is reset from the beginning. The pipe network is globally reconstructed whenever a pipe is constructed, deconstructed, or connected (or disconnected if you use pliers). Hence, working on a pipe anywhere in the world will reset this priority.

For example, consider a 4-way packet merger. Since down is always prioritized first, the packets merged will be weighted from this direction if the pipe network is ever reconstructed.

Hopefully this information helps with your design. :)

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

  • Create New...