Schall Autolinked Chest


Experimental feature, based on 1.1.0 hidden "linked-chest" prototype. Adds chests that when built next to each other, they are automatically linked to share the same inventory. Useful for belt balancing and train station wagon balancing. (Locale: English, Deutsch, 正體中文, Português Brasileiro, Русский)

Content
2 years ago
1.1
3.14K
Logistics Storage

g [Solved] Inventory limit and blueprints?

2 years ago

Quick question: is it possible to save the inventory limit of Autolinked Chests into blueprints? I try not to have gigantic chest inventories for splitters and mergers, so I tend to limit chests to just 10 active slots. That doesn't seem to save across blueprints, though, unless I'm doing something wrong.

2 years ago

Sorry, it would be too difficult to implement in practice.
The problem comes from a different concept of "inventory" of Autolinked Chests.
For ordinary chests and all other container entities, their inventories are fixed to the entity. So there is no problem to blueprint identical copies.
For Autolinked Chests, yes, the blueprint will place the same entity type; BUT the same entity can have different link ID thus different inventories.
Inventory limit is a property to an inventory (so same link ID), so blueprinting together with "autolink" feature (to neighbouring chests) and "randomized link ID" rule (to solo new chests) will easily mess up what limit should be applied to each new chests. Even more complicated when newly placed chests are next to existing chests... Mind blown...
So the best approach can only be ignoring whether it is blueprinted or not. Otherwise it will lead to unsolvable logical error.

TLDR;
If you simply use it for redistribution (split/merge) and never for storage, there is a much simpler solution.
Go into mod options, and set the storage size to 16. (Or you can edit settings.lua directly for any values you prefer.)
Note that you may loss the excess items, when you reduce the size.

2 years ago
(updated 2 years ago)

Yeah, I suspected that was the case. Pity, but thank you for the explanation. Also, now I feel dumb. I never even thought to check Mod Options. I might have to do that, since I really do only use those for redistribution. I use Warehouses for actual storage.

Actually, follow-up question: Would a smaller inventory potentially limit throughput of items with small stack sizes? I'm attempting to use this as a UPS-light version of Compound Splitters / Multilane Splitters and that's exactly the issue those had. Limit the buffer container too much and it becomes unable to handle a blue belt of Nuclear Fuel or such. I should try that...

edit
Nope! Doesn't see, to even with just a single slot (so the chest set can only hold 1 item of Nuclear Fuel) I was still able to get full throughput of 6 blue belts. OK, then - lowering inventory size through settings it is. Thank you :)

2 years ago

Yes, and I would say my Autolinked Chests should be better used for redistribution only.
Even ordinary steel chests (not to say the enormous warehouses) are much better for storage.
Placing 8 steel chests in a row will give 8×48 = 384 slots.
Placing 8 Autolinked Chests in a row will still give the same 48 slots.
Therefore, entirely not a storage solution...

Good to know from your little experiment.
WITHOUT testing, my safe attempt would be reserving 1 slot per belt input. (Thus at least 6 slots for 6 belts in.)
But your result seems to show they are MUCH better than I thought. Maybe the devs have put some black magic into it, making it so efficient. :-D

Before your reply, I just thought of an alternate solution. (In case you or others want flexible storage size, instead of a fixed low value.)
That would be a new setting to set the default inventory limit to newly-built chests of new link IDs.
Not an exact solution to your case, but guess maybe useful too?

2 years ago

OK, so the UI seems to have eaten my response... posting again:

Agreed. The shared inventory size makes the chest most useful for distribution. There are easier solutions for storage, but there really aren't very many good ones for redistribution. In my search, I also looked at the Merging Chests mod, but that seems like a much heavier solution for what I'm looking for. This is so far the best, most elegant solution I've found short of "move items in Lua" mods like Compound Splitters and Belt Balancer. Seems to have a low UPS footprint, too, which is nice.

Any solution you have for chest inventory is obviously welcome. It might not solve the exact issue I've raised here, but it's still a good change, assuming I'm reading it correctly. Having more access to default options would be quite welcome for me, as I tend to build most of my stuff the same way. For the time being, I'll use your suggestion and just force-limit chest inventory through the Mod Options menu. I'm a bit surprised it comes in fixed values rather than an integer, but I assume there are reasons for it and it's good enough anyway. Thank you kindly for that suggestion, incidentally :)

As a parting thought - can the same linked inventory trick be done for fluids? Some sort of distribution pipe cluster like for chests would be really handy, assuming the same tech applies.

2 years ago

OK, so the UI seems to have eaten my response... posting again:

Agreed. The shared inventory size makes the chest most useful for distribution. There are easier solutions for storage, but there really aren't very many good ones for redistribution. In my search, I also looked at the Merging Chests mod, but that seems like a much heavier solution for what I'm looking for. This is so far the best, most elegant solution I've found short of "move items in Lua" mods like Compound Splitters and Belt Balancer. Seems to have a low UPS footprint, too, which is nice.

I was using Merging Chests too, since 0.17 or something like that... I even suggested the idea of filters in chest dimensions to speed up loading and saving memory. Yet it just cut the murderously slow 40-60 s of loading time to still annoying 10 s. 10 extra seconds per start is still rather annoying to me, as when I develop mods, I have to restart Factorio a looooot to debug lines...
When 1.1.0 comes out with the hidden "linked-chest" prototype, it was like a godsend to me. I immediately looked it up, and found that suits my purpose (for distribution in belt and train station wagon balancing.) Its "sharing" feature is built-in supported, no need to rely on Lua script. This is the main reason why this is faster than many other solutions. So I make up this mod for public use.

Any solution you have for chest inventory is obviously welcome. It might not solve the exact issue I've raised here, but it's still a good change, assuming I'm reading it correctly. Having more access to default options would be quite welcome for me, as I tend to build most of my stuff the same way. For the time being, I'll use your suggestion and just force-limit chest inventory through the Mod Options menu. I'm a bit surprised it comes in fixed values rather than an integer, but I assume there are reasons for it and it's good enough anyway. Thank you kindly for that suggestion, incidentally :)

Alright, I will work on this new mod setting. May take some time as I have some other stuff to work on. I will let you know when it is ready.

I am providing fixed options, because (as a user) I am too lazy to input integers via Numpad. And this is not the kind of setting that really requires the user to input very precise values (I guess no one really needs intermediate values like 9, 11, 13, 14, etc.) Such a drop-down selection is much more convenient for lazy users like me.
From UI/UX design perspective, a slider would suits best here. Unfortunately, this game engine only allows the form of text box or drop-down selection in mod settings.

As a parting thought - can the same linked inventory trick be done for fluids? Some sort of distribution pipe cluster like for chests would be really handy, assuming the same tech applies.

Unfortunately no. "linked-pipe" nor "linked-storage-tank" do not exist yet. So there is nothing I can work on.

2 years ago

Yup. Seems like a native code solution is the best approach after all :) I love the various Lua Splitter mods to bits, but they are easily the heaviest ones I run, and it does show on larger structures. This has been a godsend to me, as well.

As to the chest size setting - fair enough :) I'll use what's there, or go tweak the Lua file if it REALLY bothers me so much. Thanks for putting an option for it in the first place. That's more than most people do. Looking forward to that setting you mentioned, see if I can make use of it.

As to linked pipes - hope for the future, then. Or use oddly-shaped tanks, like the Manifolds mod. Pity, but who knows. This game seems to be under constant development, so never say never. Thanks you for your time.

2 years ago

Just uploaded 1.1.1, which includes the above-mentioned default inventory limit setting to the Autolinked Chests.
Hope it helps for your uses.

Also more choices for storage size, even though I seems a bit redundant with the new setting stated above (which is also more convenient to use.)

2 years ago

Aha! I found it. That's a runtime option, too - that's definitely nifty, as it's something that can be edited in real time if needed. Thank you kindly. Also I'm mildly amused that chest sizes are multiples of 8 but inventory limits are multiples of 5. Outside of 40, never the two shall meet :) Although that does make sense, given there's no point in setting an inventory limit the same size as the inventory. 10 is what I was aiming for, and I have that. Everything seems to be in order.

This should be a lower-impact version of the inventory option I've been using thus far.

2 years ago

Hmm... I offered these values because they stick to vanilla prototypes and GUI, yet they are in different systems.
The vanilla wooden/iron/steel chests are in size of 16/32/48.
On chest inventory GUI, the column size is 10. It is rather unlikely a user will set the red bar to mid-of-some-places 16 or 32 position. Much more likely to set (by hand) as 10/20/30.
But of course, if the devs decide to change either of these, I will follow suit.

PS1: Anyway, there are many things in Factorio that are in different systems/conventions. For example, belts go yellow, red, blue. Ammo magazaine (bullets) go yellow, red, green. Shields go blue, orange. Inserters go black, yellow orange, blue. Circuits go green, red, blue... I am not game devs, so even if I want to somehow unify these, I am in no position to change vanilla items. (Although I tried to unify my own modded items, to a very limited extent.)

PS2: For smaller-sized chest (like 16 or 32), you can simply set inventory limit with a larger number (say, 40 or 48) if you do not want any limit to it. This will set the chest to full size, without causing any error messages.

2 years ago

Oh, I wouldn't worry about it :) It was more of a joke, just because I'm friends with people with OCD. "What do you mean size and inventory limit are in different multiples?!?" Personally, I don't have a problem with it. I've set my inventory limit to 16 as you recommended the first time around. I experimented with setting inventory limits, but hard-liming the chests' inventory proved to be the more reliable option. I think you were right all along - these are best-suited as de-facto splitters and buffers rather than storage, so the smaller inventory works better.

However, setting inventory limits like that is still useful, though, in case I do want to use the chests as storage still. Setting their inventory high and their inventory limit low means I can - if I so choose - still store larger quantities of items in them while still using them as splitters and buffers. Thank you for making it.

New response