Reproduction steps:
Are there plans to do anything about this on the Forge side? (I am aware of the potential implications of replacing a once-used block ID with another one, just curious if there's plans to handle it "officially".)
Is that really important now that 1.13 is coming soon? The IDs will be "gone" anyway
Yes it is.
Things still need an int ID at the end of the day. Wasting them is just bad form even though it's theoretically unlimited. There's also probably some optimizations that would also be impossible if your id's are too high
This is the intended functionality, as you're allowed to run the world without a mod, then re-add it and have your blocks 'resuscitated'
The idea of making a utility to unclaim these ids has been tossed around, but I just haven't gotten to it.
If someone however wants to write a tool that will take in a list of blockids, load every chunk in a save file and replace those ids with air{or stone, or whatever the user specifies} then we can ship it.
The problem with reclaiming ids is that things in unloaded chunks would just magically become those blocks.
The only proper solution is to have that utility. So you can be sure that all references to the ids have been removed.
Right. I suppose this shouldn't remain a Forge issue, then.
Thoughts on this as a possible Forge-supported alternative to a complete-save-file overwrite?
I'm concerned the registry versions could quickly go out of hand. Also consider what happens if a given ID is reclaimed multiple times before a chunk is reloaded again.
It doesn't really matter how many times an ID is reclaimed before a chunk is reloaded, the data with that ID in the chunk will be seen as outdated anyway.
As for the first point, if the ID mappings are going to be overwitten that many times, then the "delete all old blocks in the save file every time" option doesn't sound particularly appealing either.
That may be a solution but no, a util is the way to go.
Most helpful comment
This is the intended functionality, as you're allowed to run the world without a mod, then re-add it and have your blocks 'resuscitated'
The idea of making a utility to unclaim these ids has been tossed around, but I just haven't gotten to it.
If someone however wants to write a tool that will take in a list of blockids, load every chunk in a save file and replace those ids with air{or stone, or whatever the user specifies} then we can ship it.
The problem with reclaiming ids is that things in unloaded chunks would just magically become those blocks.
The only proper solution is to have that utility. So you can be sure that all references to the ids have been removed.