Assemblers need to clean their inventories

Digi shared this feedback 3 years ago
Submitted

Not sure how to classify this, on one hand it looks like a bug but looking at the code shows that it's not actually doing push requests, therefore I'm adding it as a suggestion.


Assembler never does push requests for its input inventory when in assemble mode, and never does push requests for its output inventory when in disassemble mode.

That means the input and ouput inventories eventually get clogged by cancelled queue items or simply refinery placing ingots there because assembler is closer on the path or something (which I did test and does happen, see last attachment)


One quick-ish way to cause the clogging to happen:

1. A survival world with all realistic inventory and speed settings.

2. Have an assembler, power source and cargo container.

3. Add to the container 10k of: silicon, iron, silver, gold, cobalt.

4. In the inventory, drag the silicon to the assembler's input to fill it.

5. Drag 25 silicon from the assembler back to the container.

6. Try to assemble a gravity generator component.

Comments (3)

photo
1

This has irked me before as well. Maybe add a quota to assemblers, (input definitely) that will prevent it from filling up with one type of ingot. Or maybe have it not register as an open inventory to push to, only accepting pull requests.

photo
1

I fell like this is more of a bug report than an idea. It's a bug/limitation that's been there so long we're just used to working around it.

An easy workaround (of many I know) is to toggle between assemble, disassemble modes. An idea would be to allow this toggle as a command for timerblocks etc...

photo
1

A bug would be something they do not intend, and the existing behavior is quite intended as the code simply does not do push requests for the cases I mentioned.

photo
1

I would like to see something like if the Assemblers queue is empty and maybe hes also Idle for e.g. 2 seconds then it shlould "unlock" Its Inventory so a Sorter is able to pull any leftovers. Maybe the Assembler puts the Ingot in its outgoing Inventory or something.

photo
1

The code missing is still a bug Digi. Keen does not intend for the Assembler to jam up on Grav Gen components.

A feature request would be setting an inventory range to auto-queue for production.

This is fixing something about the current behaviour that doesn't work properly under certain conditions. Bug.

photo
photo
1

Why not just use conveyor sorters in "stable mode" and program blocks in "experimental mode"?

As for the 2nd example, if you don't want to write your own script thee is plenty on the work shop to name one "Taleden's Inventory Manager"


I have used the conveyor sorter method for many of me designs

photo
1

Sorters can't pull from input inventory on assembler, I just tested it.

That also requires people to know that the assembler doesn't get rid of contents in its input inventory, which is not obvious nor intuitive.

PB scripts with inventory calls are really slow, TIM is extremely slow in particular.

photo
1

Yeah, it's an annoying behavior, which I presume doesn't come up for them because Keen defaults everything to x3. Very easy to jam the thing on Realistic.

photo