Skip to content

Round-robin container pulls in pipes - #1378

Open
RasmusKD wants to merge 1 commit into
EngineHub:masterfrom
RasmusKD:pipe-round-robin-pull
Open

Round-robin container pulls in pipes#1378
RasmusKD wants to merge 1 commit into
EngineHub:masterfrom
RasmusKD:pipe-round-robin-pull

Conversation

@RasmusKD

Copy link
Copy Markdown
Contributor

With stack-per-move, the piston always pulls the first stack. A stack no output accepts comes back as leftovers to the front of the chest and gets pulled again every pulse, so everything behind it never moves.

The piston now remembers the last pulled slot and continues from the next one, so an unroutable stack costs one idle pulse per rotation instead of blocking the pipe forever. Gated by 'round-robin-pull' (default on).

The pull clears the exact slot it read instead of using removeItem, since with a mid-inventory start removeItem could take a different, equal stack.

Touches the same pull loop as #1376, happy to rebase whichever lands second.

With stack-per-move, the piston always pulled the first stack. A stack
no output accepts came back as leftovers to the front of the chest and
was pulled again every pulse, so everything behind it never moved. The
piston now remembers the last pulled slot and continues from the next
one, costing an unroutable stack one idle pulse per rotation instead of
blocking the pipe forever. Gated by 'round-robin-pull' (default on).

The pull clears the exact slot it read instead of using removeItem,
which with a mid-inventory start could take a different, equal stack.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant