Add ability to read orphaned storage tables on load, enabling cleanly forking mods

Place to ask discuss and request the modding support of Factorio. Don't request mods here.
MeteorSwarm
Long Handed Inserter
Long Handed Inserter
Posts: 59
Joined: Thu Sep 25, 2025 10:49 pm
Contact:

Add ability to read orphaned storage tables on load, enabling cleanly forking mods

Post by MeteorSwarm »

On removing a mod from a save, it should be possible for other mods to read storage tables of removed mods before the storage is deleted. This would enable the smooth transition of saves from using one mod to using a fork of the mod.

This feature request is in response to the sudden disappearance of notnotmelon, who has recently unexpectedly deprecated and wiped the titles and descriptions of almost their entire mod library, leaving a hole in the modding community that can not be easily filled. Many of notnotmelon's mods use the storage table in scripts, meaning that a fork that simply replaces the old internal name with a new name can not be cleanly installed into an existing save without losing that storage data. I'm not sure if this incident has a precedent in Factorio, but this feels somewhat similar to npm's left-pad incident. If thesixthroc had a similar mental breakdown and deprecated PlanetsLib without warning, it would break dozens of mods and hundreds of thousands of existing saves.

There are two possible solutions to the notnotmelon problem:

1. Do as I've suggested, and add an interface feature that enables other mods to read orphaned storage tables before they are deleted. This would allow modders that want to continue playing notnotmelon's mods to fork their mods in a way that doesn't break old saves.
2. Do as npm did, and forcibly revert notnotmelon's deprecation of their mods. I don't like this solution, as it could anger notnotmelon, but it would most cleanly preserve the experience of players. This type of vandalism that notnotmelon engaged in should be discouraged.

I would ask notnotmelon for their opinion, but they have seemingly blocked everyone in the Factorio community from all forms of contact. I've met notnotmelon in person less than two weeks ago, and I'm also blocked.

If anyone believes that notnotmelon has the right to stop other people from playing their mods, they voided that right when they gave their mods an MIT license.
Bilka
Factorio Staff
Factorio Staff
Posts: 3871
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: Add ability to read orphaned storage tables on load, enabling cleanly forking mods

Post by Bilka »

You can likely use the console with the mod prefix to migrate the storage table from one mod to the other( /c __old-mod__ storage gives you that mod's storage).

I highly doubt we're going to interfere with individual modder's decisions regarding what they do with their mods.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.
darkszero
Burner Inserter
Burner Inserter
Posts: 18
Joined: Wed Jul 19, 2017 3:30 am
Contact:

Re: Add ability to read orphaned storage tables on load, enabling cleanly forking mods

Post by darkszero »

Using the console would cause their saves to lose the ability to earn the ingame achievements, even custom ones from mods. Not ideal :/
User avatar
protocol_1903
Filter Inserter
Filter Inserter
Posts: 548
Joined: Fri Sep 09, 2022 4:33 pm
Contact:

Re: Add ability to read orphaned storage tables on load, enabling cleanly forking mods

Post by protocol_1903 »

I feel like access to removed mod's storage tables should be fine. This would also allow for things like changing between different forks of a mod, or like mentioned updating from one mod to another. It would also be nice for inter-mod compatibility to have some form of 'this mod was removed, do some cleanup' if needed, I'd definitely appreciate this feature for a 'removal migrations' mod.
pY and pYblock developer, wielder of fluid networks and subtick events in arbitrary ways. I make mods. Check them out, maybe.
https://mods.factorio.com/user/protocol_1903

Buy me a coffee
Post Reply

Return to “Modding interface requests”