Chest inserter control

Place to ask discuss and request the modding support of Factorio. Don't request mods here.
Post Reply
jimrandomh
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat Aug 12, 2017 10:20 pm
Contact:

Chest inserter control

Post by jimrandomh »

Factorissimo/2 is a mod that makes factory buildings you can enter which are bigger on the outside than the inside, and keep factories organized. It currently has a number of options for moving items in and out: chests, belts and pipes placed along the perimeter outside the building will transfer contents to or from matching chests/belts/pipes on the perimeter inside. In the version I have on GitHub, they're blueprintable.

The goal: make a factory building which presents an external interface identical to that of an assembler, so that the player could, for example, make a "red circuit assembler" which is a factory building where inserters put in copper, iron, and plastic, inserters take out red circuits, and inside the building are assemblers for all the intermediates.

The problem: controlling which items inserters put in and take out. If the factory building itself inherits from a storage chest, then inserters can put things in it, and we can poll periodically and move things to the right places inside. But the inserters will put *all* items in, including items of the wrong type; unlike a real assembler, the player would have to use filter inserters to put in items coming from a mixed belt or chest. Second problem: the inserters won't know when to stop. And if several different types of items are being inserted, then the chest buffer space may fill up with one item type, blocking the other item type from being inserted. And, third problem: if an item has been inserted and we haven't yet polled and teleported that item inside, then an inserter may take it *out*, as though it were a product.

The proposed modding interface: a type of chest which takes a request/filter specification like a logistic-requester chest would, but isn't part of the logistic network; instead, the filters makes it so (a) inserters will only add items that satisfy one of that chest's logistic requests (acting as though they were inserting into an assembler, and the logistic requests were the recipe inputs); and (b) inserters will only *remove* items that *don't* satisfy one of that chest's logistic requests.

Post Reply

Return to “Modding interface requests”