NBT 与键值数据库¶
abi.h 里的分节说明
§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(§I NBT binary, KvDb (thread-safe), system & server info)
槽位¶
nbt_snbt_to_binary¶
| C | |
|---|---|
fmt:0=磁盘格式(小端),1=网络格式。
- 调用形式:
api->nbt_snbt_to_binary(snbt, fmt, ctx, sink) - 参数:
- snbt :
PierStr - fmt :
int32_t - ctx :
void* - sink :
PierBytesSink
- snbt :
- 返回值类型:
bool - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 58 个槽位(从 0 数起)
- 各绑定里的调用方:
nbt_binary_to_snbt¶
| C | |
|---|---|
- 调用形式:
api->nbt_binary_to_snbt(data, len, fmt, ctx, sink) - 参数:
- data :
uint8_t const* - len :
size_t - fmt :
int32_t - ctx :
void* - sink :
PierStrSink
- data :
- 返回值类型:
bool - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 59 个槽位(从 0 数起)
- 各绑定里的调用方:
kvdb_open¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_open(mod, path, create_if_missing) - 参数:
- mod :
PierModHandle - path :
PierStr - create_if_missing :
bool
- mod :
- 返回值类型:
PierKvDbHandle - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 60 个槽位(从 0 数起)
- 各绑定里的调用方:
kvdb_close¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_close(h) - 参数:
- h :
PierKvDbHandle
- h :
- 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 61 个槽位(从 0 数起)
- 各绑定里的调用方:
kvdb_get¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_get(h, key, ctx, sink) - 参数:
- h :
PierKvDbHandle - key :
PierStr - ctx :
void* - sink :
PierStrSink
- h :
- 返回值类型:
bool - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 62 个槽位(从 0 数起)
- 各绑定里的调用方:
- Rust:
KvDb::try_get、KvDb::get - Go:
KvDb.Get、Raw.KvdbGet
- Rust:
kvdb_set¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_set(h, key, value) - 参数:
- h :
PierKvDbHandle - key :
PierStr - value :
PierStr
- h :
- 返回值类型:
bool - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 63 个槽位(从 0 数起)
- 各绑定里的调用方:
- Rust:
KvDb::set - Go:
KvDb.Set、Raw.KvdbSet
- Rust:
kvdb_del¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_del(h, key) - 参数:
- h :
PierKvDbHandle - key :
PierStr
- h :
- 返回值类型:
bool - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 64 个槽位(从 0 数起)
- 各绑定里的调用方:
- Rust:
KvDb::del - Go:
KvDb.Delete、Raw.KvdbDel
- Rust:
kvdb_has¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_has(h, key) - 参数:
- h :
PierKvDbHandle - key :
PierStr
- h :
- 返回值类型:
bool - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 65 个槽位(从 0 数起)
- 各绑定里的调用方:
- Rust:
KvDb::has、KvDb::has - Go:
KvDb.Has、Raw.KvdbHas
- Rust:
kvdb_is_empty¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_is_empty(h) - 参数:
- h :
PierKvDbHandle
- h :
- 返回值类型:
bool - 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 66 个槽位(从 0 数起)
- 各绑定里的调用方:
kvdb_iter¶
| C | |
|---|---|
分组说明
KvDb:线程安全(内部有互斥锁)。路径限定在模组自己的数据目录里,带 .. 的路径和绝对路径会被拒绝。句柄归加载器所有,模组卸载时会被强制关闭,并记一条警告。
- 调用形式:
api->kvdb_iter(h, ctx, sink) - 参数:
- h :
PierKvDbHandle - ctx :
void* - sink :
PierKvSink
- h :
- 所在分节:§I 二进制 NBT、KvDb(线程安全)、系统与服务器信息(
§I NBT binary, KvDb (thread-safe), system & server info) - 表内序号:第 67 个槽位(从 0 数起)
- 各绑定里的调用方:
- Rust:
KvDb::iter、KvDb::iter - Go:
KvDb.Iter
- Rust:
类型¶
PierBytesSink¶
| C | |
|---|---|
原始字节的输出回调(二进制 NBT)。字节只在当前调用帧内有效。
PierKvSink¶
| C | |
|---|---|
键值对的输出回调(kvdb_iter)。两个视图只在当前调用帧内有效。
PierKvDbHandle¶
| C | |
|---|---|
指向一个已打开的键值数据库的不透明句柄,数据库归加载器所有。