This text is purely illustrational and cannot be taken for a design document or hard-coded rules that won’t ever change. On the contrary - as we keep working on the game and making it better, a lot of the information here might become obsolete.
Conveyor Push-n-Pull principles:
Some of the blocks (e.g. assembler, turrets, etc.) that can be connected to the conveyor system can automatically “push” or “pull” items to/from the conveyors. This works as follows:
-
If the block is set to use the conveyor system, it checks certain conditions when it is necessary (which are different for each block type) that say whether it should send a push/pull request.
-
If the conditions for the request are met, the block finds another block with inventory that can satisfy the request.
2a) Push request:
If the block sends a push request, it finds a suitable remote inventory, which has the CanReceive flag set. Once the inventory is found, the request is fulfilled by sending the requested items to the remote inventory. If the remote inventory does not have enough free space, only a part of the request is fulfilled and the request continues by searching for another remote inventory.
2b) Pull request:
If the block sends a pull request, it finds a remote inventory with the CanSend flag set. The remote inventory also has to contain the desired items. If these conditions are met, the request is fulfilled by transferring the items from the remote inventory.
Inventories with CanSend flag:
- Cargo container inventories
- Assembler output inventory
- Refinery output inventory
- Ship drill inventory
- Ship grinder inventory
- Collector inventory
- Connector inventory
Inventories with CanReceive flag:
- Cargo container inventories
- Assembler input inventory
- Refinery input inventory
- Reactor inventory
- Turret & gun inventories
- Connector inventory
Requests of the individual block types:
- Assembler:
- If the input inventory is less than 60% full, the assembler issues a pull
request for the needed materials according to the current blueprint - If the output inventory is more than 75% full, the assembler issues a
push request for its contents.
- If the input inventory is less than 60% full, the assembler issues a pull
- Refinery:
- See assembler; Refinery works similarly
- Collector:
- Sends push requests for all of its contents
- Reactor:
- If the fuel inventory is less than 60% full, sends pull request for some
small amount of fuel
- If the fuel inventory is less than 60% full, sends pull request for some
- Turrets and ship guns:
- If their inventories ar less than 50% full, they send pull requests for
ammo
- If their inventories ar less than 50% full, they send pull requests for
- Ship drill & ship grinder:
- Send push requests for all of their contents