All numerical and name item IDs

Anyone can edit the Contributed Data sheet. I think anyone can create new sheets too, but not 100% sure how permissions work.


The Blocks Dump sheet lists every single block, showing first the numerical ID for that block, and then its name ID.

The Items Dump sheet lists every single item, showing first the name ID for that item, and then its numerical ID.

I’m sorry for the swapped order for each of the lists, but that’s as they appear in the decoded msgpack files, too. All the values have been retrieved from the decoded files using a custom script.


5 Likes

You can get lists also with current lua scripting. I did use script below. Probably same amount of stuff :slight_smile:

function doFiles()
    outputTable( "o_itemtypes.txt", boundless.itemTypes )
    outputTable( "o_blocktypes.txt", boundless.blockTypes )
    outputTable( "o_liquidtypes.txt", boundless.liquidTypes )
    outputTable( "o_logmsgtypes.txt", boundless.guiActionLogMsgTypes )
    outputTable( "o_archetypes.txt", boundless.archetypes )
    print( "Files done!" )
end
    

function outputTable( filename, table )
    file = io.open (filename, "w")
    io.output(file)
    for k, v in pairs( table ) do
        io.write(v .. "\t".. k .. "\n")
    end
    io.close( file )
end

print( "File loaded!" )
5 Likes

Lua is weird. It doesn’t use brackets for functions or have an end line character. I mean I suppose those are redundant and this way it forces people to use good formatting, since the formatting determines how it interprets code. Still, weird.

Is there any guarantee that numeric item IDs remain consistent between releases?

If it’s any help, I have some code that reads the raws and imports them into an SQL RDBMS, so you can just do a SELECT to get all this info.

1 Like

I believe all persistent data (like inventories, placed blocks etc) use numeric id’s to store the data so I doubt they’ll change.

1 Like