So how is this scenario suppose to be handled?
- Modder releases mod with new content for the game.
- Game assigns an unique ID to the mod
- Modder updates the mod with new content and removes content
- Player installs the updated mod
- Does game give the mod a new unique ID and remove the ID for the previous version?
This option, the player will lose any items from the old mod that were kept in the updated mod
- Does the game keep the unique ID and update the IDs based on the updated mod?
This option, if content is added and removed, player will have items switching on them or removed
Since it is very likely for mod creators to add / remove custom items in their mods, both scenarios above is plausible. So the idea of adding an unique ID per mod doesn't address the main issue you are trying to solve. At that point, you would then be asking the game to start tracking individual items, determining if they should remain in the game, and then modifying the data for the world / players to ensure those items remain.
The alternative would then be to have modders create different versions of their mods whenever they update them so that updating them onto players' games / servers does not cause them to lose items when they post an update. Some modders might be willing to do that, but that is a lot of work for the modder when the easy solution is just to restart - especially if there are a lot of updates between when the mod was first installed.
I might be overthinking this, but I am an engineer and one of my primary tasks is to look at all scenarios and determine the pros / cons / effects downstream