Hi djmalk, people have asked about a 2.1 update for this mod, so I've built one. It's up as a continuation under a new name (item-network-sa-continued) rather than leaving everyone stuck on 2.0. This is a courtesy heads-up, not a request: if you'd rather it wasn't up, say so and I'll take it down, no argument. It also retires on its own the day you ship a 2.1 build.
Everything you'd need if you'd rather do it yourself — the port is six changes across three files:
- info.json: factorio_version 2.0 -> 2.1
- LuaEntity.fluidbox is gone in 2.1. Three spots: GlobalState.lua:445, NetworkChest.lua:755 and :785. Replacement is entity.fluids_count + entity.get_fluid(idx).
- NetworkChest.lua:775 is the one worth care. remove_fluid still EXISTS in 2.1, so it won't fail a load check, but the signature is now remove_fluid(amount, index) with no name or temperature filtering — your call passes a table where an amount goes. The filtered form is extract_fluid{}. Keep the assert on the next line; it's what turns a surprise there into a loud error instead of quietly moving the wrong fluid.
- Timer.lua:5 and :26: game.create_profiler -> helpers.create_profiler.
Everything else is already 2.1-clean — prototypes.*, storage, the data stage, the tank prototype. I checked every call in the mod against the 2.1.9 API dump rather than going from memory.
I also found the causes of two of your open bug reports:
- The "crash after removing another mod" that makes saves unloadable is NetworkChest.lua:672, prototypes.item[item].stack_size. The item comes from the stored request list rather than the world, so when a mod goes away the prototype vanishes but the request doesn't, and it throws inside on_nth_tick(1) every tick. Needs a nil guard and to drop the dead request. The same unguarded pattern is in NetworkChestGui.lua at 592/604/664/679 and NetworkViewUi.lua:424.
- "Wrong quality items filling storage" is NetworkChest.lua:1131. In 2.1 get_upgrade_target() returns the prototype AND the quality; the code keeps only the first, so every upgrade request asks for normal. Upsidedowneye posted a working patch in your discussions.
Take any of that and use it. I'd genuinely rather you updated this yourself: mod data is keyed to the mod name, so a rename costs every player their network contents and their chest configs. Mine can't avoid that. Yours wouldn't have to.
Two smaller things. Your zip doesn't ship a licence file — year6b7a's repo has license.txt with his 2023 MIT notice, and MIT wants that carried along; mine restores it and credits you both. And the continuation is bug fixes and the port only: no features, no balance changes.
Source, with your 1.0.3 imported verbatim as its own commit so the diff shows exactly what I changed on top: https://github.com/restjack/item-network-sa-continued
Thanks for the mod. The quality work in 1.0.x is substantial and it deserved better than being stuck on 2.0.