VoxelEngine/doc/en/scripting/filesystem.md

1.5 KiB

Filesystem and serialization

file library

See file library

json library

The library contains functions for serializing and deserializing tables:

json.tostring(object: table, human_readable: bool=false) -> str

Serializes an object into a JSON string. If the second parameter is true, multi-line human-readable formatting will be used, rather than the compact format used by default.

json.parse(code: str) -> table

Parses a JSON string into a table.

toml library

The library contains functions for serializing and deserializing tables:

toml.tostring(object: table) -> str

Serializes an object into a TOML string.

toml.parse(code: str) -> table

Parses a TOML string into a table.

bjson library

The library contains functions for working with the binary data exchange format vcbjson.

-- Encodes a table into a byte array
bjson.tobytes(
    -- encoded table
    value: table,
    -- compression
    [optional] compression: bool=true
) --> Bytearray

-- Decodes a byte array into a table
bjson.frombytes(bytes: table | Bytearray) --> table

Storing data in a world

When saving pack data in the world, you should use the function:

pack.data_file(packid: str, filename: str) -> str

Returns data file path like: world:data/packid/filename and creates missing directories.

If paths other than data/{packid}/... are used, data may be lost.