Modules, Source and Target

<
>
November 14, 2021

Today I added dedicated Source and Target Structures for the interaction with Modules.
Since I haven’t written a lot about Modules so far, let me introduce them to you:

Modules

Modules can be created by first defining a Blueprint.
Within the Blueprint View one can place any Structure at no cost. This way it’s possible to plan parts of a factory without having to worry about resources.
Here the special Structures Source and Target become available.

Source

A Source can be set to spawn any Item. It keeps track of the number of spawned Items.

Target

A Target accepts any Item, but after accepting the first Item, it will only accept that Item from now on.
For example if you place Coal into a Target, it will from now on only accept Coal.
Just like Source, Target also keeps track of the number of Items.

Below you can see a simple Blueprint where there’s an iron plate Source to the left. There’s also Arms and Belts transporting the plates to the Target to the right.
This is a really basic example and not practical. But one could place any Structure here and define complex sub-factories.

It’s now possible to simulate this Blueprint for a specific amount of ticks ONCE and simply store the amount of consumed and produced Items.
This makes it possible to basically create custom Assemblers with any recipe. It’s also a great way to optimize the simulation, since the generated Modules are way cheaper to simulate than their individual components.
It’s also possible to use already created Modules in new Blueprints.
The above Blueprint as Module:

Source Target position

Before today’s changes one could have placed and taken the input or output Items from any location of the Module, similar to how Assemblers and other Structures work.
This would have made it too easy from gameplay’s perspective and for example allow for Item teleportation.
Therefore one now must place Items exactly at the location of Sources and can only take them at Target locations.