Do you have questions, comments or bugs? Stop by the Discord server, make a Github Issue or start a discussion in the mod portal.
This mod adds a new transportation mechanic to move items and fluids as quickly as possible.
It does this by adding Network Chests and Tanks which serve as an access points to a limitless shared inventory for the entire mod. Network Chests can give and take items to and from this shared inventory and Network Tanks move fluids.
This approach scales well for everything from a seldom-used mall to moving vast quantities of items.
This mod also adds a Network Loader which is just a normal loader for transporting full lanes of items in and out of network chests. Inserters also work with network chests but loaders often lead to cleaner designs.
Here's an example of moving 128 blue belts of copper ore where almost every belt is saturated. In addition to the 256 network chests in this picture, this world has 2084 network chests with half dedicated to moving copper and the other half moving other items.
And here's a mall powered entirely by network chests:
Both Network Chests and Network Loaders are enabled without research and can be crafted without any items. While it might be more fair to lock these items behind endgame research expensive ingredients, it's more fun to have them available from the start.
Network chests make belt balancers obsolete because they evenly distribute between producers and consumers.
There is no doubt that this mod is cheating and defeats the purpose of many existing transportation mechanics like trains and bots. If trains work well for you then you probably don't need this mod. This mod is instead intended for:
In short, this mod is for players who want a logistics solution that gets out of the way so they can focus on recipes and efficient factories.
Network chests have a custom UI to configure requests that can be accessed by clicking on the chest.
Each chest has a list of items where the chest either requests or provides each item.
Each request has a "limit" and "buffer" defined as follows:
item
to the network when there are less than limit
items in the network and store buffer
items in this chest.item
from the network when there are more than limit
items in the network and store buffer
items in this chest.This method of defining requests is easy to use but also allows for complex production loops with both custom input and output priorities.
For example, here's how to prioritize sending coal to power generation. When there is more than 100 coal in the network it will be sent to plastic.
While it's always possible to configure Network Chests manually, it's often easier to copy ingredients from an assembler's recipe. The mod supports copy-pasting both ingredients and results from an assembler to a chest.
Copy-paste behavior follow the direction of items:
This copy-paste behavior appends items to the Network Chest's configuration which makes it easier to supply multiple recipes from a single chest.
Network Loaders also have an easier configuration method. If a Network Loader is placed next to a Network Chest, it will read the provided items from the chest and suggest those items when you set the loader's filter.
Fluids can be transported through the network using Network Tanks. These tanks are similar to Network Chests except they only transport 1 fluid at a time.
Network Tanks configured to Provide will try to push any fluids from the tank into the network up to the configured limit.
Network Tanks configured to Request will try to take the specified fluid at the specified temperature from the network.
As of 0.5.0, the network correctly handles fluids with different temperatures. Currently only whole-number temperatures are supported so please reach out if you have a use case for temperatures with decimals.
Pressing Ctrl + Shift + N
will bring up the Network View to see items and fluids currently in the network.
In addition to displaying items and fluids in the network, there is also a "Shortages" tab that displays the number of unsatisfied item requests for the past 5 seconds.
Some of these integrations can be disabled in settings but please open an issue if you want to disable something else.
Network chests are implemented as a normal chest with 48 slots. Each of the chest's requests has a buffer size and filtered item slots are used to reserve space for that item. For example if the request buffers 51 coal, the mod will filter 2 chest slots for coal.
Since 2 slots of coal can hold 100 coal, the mod will set the chest bar to prevent inserting more coal if the number of coal equals or exceeds 51.
The mod won't let you add requests that buffer more than can be stored in the network chest.
This implementation makes it easy to buffer just one nuclear reactor at the mall or buffer 1000 iron ore for bulk transport.
This mod is tuned to take about 1-3ms every tick and does a fixed amount of work on every tick. While this is a lot of time for each tick, this mod also does a lot of work to transport all items for an entire base. For larger bases this overhead is comparable to the render time for belts, trains and bots.
On the test world with 2048 network chests and 4096 loaders, the mod takes 2.5ms per tick which is about half the game update time on my computer.
Internally the mod maintains a FIFO queue of every Network Chest and Tank. On every tick it:
Because this approach only scans a fixed number of chests per tick, chests will be scanned less frequently as the base scales up and more chests are built. It's sometimes necessary to increase the buffer and limit of high-throughput items like iron or copper and usually a buffer of 500-1000 items is enough to keep a full blue belt saturated.
Network chests have no trouble keeping blue belts saturated with less than 2K Network Chests in the map. However there have been reports that it is hard to saturate belts in larger factories with ~50K Network Chests. While improving mod performance is a key area of focus, in the short term it is currently recommended to keep the number of chests below 3K.
This mod has been tested in the following ways:
This is plenty of play time to test:
Please submit issues on the github repo. Pull requests are welcome!
The idea of teleporting items is definitely not new. Here is a short list of similar mods:
While all these mods are related to teleporting items, they have different priorities and Item Network in particular has unique priorities that might make it a good fit.