Forgive me if I’m missing something, but why are legacy IDs required for spawn tables? I understand why it is helpful to have for mapmakers, but why can’t it be optional?
Say you want to add a clothes item that spawns on a vanilla map. You’d set up the spawn like this:
My question is, just why? Letting spawns use just GUIDs would save IDs (a valuable resource ) and make things easier overall. It would also be cool if mapmakers could copy and paste the GUIDs or something to set up the spawns too.
I’m assuming because there are a lot of legacy systems behind the scenes that depend on a legacy ID still, and changing just this one would require changing all of them, which is a bigger task that keeps getting delayed.
It would be nice if Nelson changed that at some point, or at the very least made it so legacy IDs are necessary on everything BUT spawns and NPCs and such. I get it would take a lot of work though and he is prioritizing base game changes.
While there are a lot of old systems that still require legacy IDs for spawn tables (e.g., setting spawn table in the level editor) it’s a good point that they aren’t always necessary. Any intermediate spawn tables or spawn tables only referenced by other spawn tables shouldn’t need legacy IDs - I’ve made a note to make them optional in the next update.
It’s gradually getting better. The next update already makes legacy ID optional for vehicles actually, and adds GUID support to NPC vehicle rewards and vendors. Items are still going to need legacy ID for the foreseeable future though.