1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-11-17 23:05:07 -05:00

Document current node metadata format

Document the node metadata changes of the commit (serialisation version >=23):

704782c95b "WIP node metadata, node timers"
This commit is contained in:
est31 2015-09-18 15:02:02 +02:00
parent 94f1e5d9bd
commit 691eb2d06d

View File

@ -250,7 +250,7 @@ NOTE: Zlib data is in such a format that Python's zlib at least can
directly decompress. directly decompress.
u8 version u8 version
- map format version number, this one is version 22 - map format version number, see serialisation.h for the latest number
u8 flags u8 flags
- Flag bitmasks: - Flag bitmasks:
@ -296,13 +296,26 @@ if content_width == 2:
zlib-compressed node metadata list zlib-compressed node metadata list
- content: - content:
if map format version <= 22:
u16 version (=1) u16 version (=1)
u16 count of metadata u16 count of metadata
foreach count: foreach count:
u16 position (p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X) u16 position (p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X)
u16 type_id u16 type_id
u16 content_size u16 content_size
u8[content_size] (content of metadata) u8[content_size] content of metadata. Format depends on type_id, see below.
if map format version >= 23:
u8 version (=1) -- Note the type is u8, while for map format version <= 22 it's u16
u16 count of metadata
foreach count:
u16 position (p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X)
u32 num_vars
foreach num_vars:
u16 key_len
u8[name_len] key
u32 val_len
u8[val_len] value
serialized inventory
- Node timers - Node timers
if map format version == 23: if map format version == 23:
@ -378,8 +391,9 @@ The name-id-mapping
-------------------- --------------------
The mapping maps node content ids to node names. The mapping maps node content ids to node names.
Node metadata format Node metadata format for map format versions <= 22
--------------------- ---------------------------------------------------
The node metadata are serialized depending on the type_id field.
1: Generic metadata 1: Generic metadata
serialized inventory serialized inventory