1
1
# 📒 NbtCompound - 标签类型
2
2
3
- 一个` NbtCompound ` 代表一个完整的标签,里面储存了一系列键值对,类似于对象 / 表这样的数据结构。
4
- 通过` NbtCompound ` 对象的接口,才可以进行 NBT 标签所独有的一些操作。
3
+ 一个 ` NbtCompound ` 代表一个完整的标签,里面储存了一系列键值对,类似于对象 / 表这样的数据结构。
4
+ 通过 ` NbtCompound ` 对象的接口,才可以进行 NBT 标签所独有的一些操作。
5
5
6
6
### 获取一个 NBT 标签对象
7
7
17
17
[ Lua] ` NbtCompound([data]) `
18
18
19
19
- 参数:
20
- - data: Object<string, NBT对象 >(可选参数)
21
- 传入一个NBT对象构成的对象 。对象中允许包含其他数组 / 对象结构,但内容必须都为NBT对象
22
- - 返回值:生成的NBT对象
20
+ - data: Object<string, NBT Object >(可选参数)
21
+ 传入一个 NBT 对象构成的对象 。对象中允许包含其他数组 / 对象结构,但内容必须都为 NBT 对象
22
+ - 返回值:生成的 NBT 对象
23
23
- 返回值类型:` NbtList `
24
24
- 如果创建失败,将抛出异常
25
25
@@ -50,18 +50,18 @@ local nbt = NbtCompound({
50
50
51
51
52
52
53
- #### 从 SNBT 字符串生成 NBT 标签对象
53
+ #### 从 SNBT 字符串生成 NBT 标签对象
54
54
55
55
` NBT.parseSNBT(snbt) `
56
56
57
57
- 参数:
58
- - snbt : ` String `
59
- 你要解析的SNBT字符串
60
- - 返回值:生成的NBT对象
58
+ - snbt: ` String `
59
+ 你要解析的 SNBT 字符串
60
+ - 返回值:生成的 NBT 对象
61
61
- 返回值类型:` NbtCompound `
62
62
- 如返回值为 ` Null ` 则表示解析失败
63
63
64
- > SNBT字符串中必须包含一个完整的Compound
64
+ > SNBT 字符串中必须包含一个完整的 Compound
65
65
66
66
67
67
@@ -70,15 +70,15 @@ local nbt = NbtCompound({
70
70
` NBT.parseBinaryNBT(nbt) `
71
71
72
72
- 参数:
73
- - nbt : ` ByteBuffer `
73
+ - nbt: ` ByteBuffer `
74
74
你要解析的二进制 NBT 数据
75
- - 返回值:生成的NBT对象
75
+ - 返回值:生成的 NBT 对象
76
76
- 返回值类型:` NbtCompound `
77
77
- 如返回值为 ` Null ` 则表示解析失败
78
78
79
- > 二进制 NBT 数据中必须包含一个完整的Compound
79
+ > 二进制 NBT 数据中必须包含一个完整的 Compound
80
80
81
- 对于某个一个` NbtCompound ` 类型的对象` comp ` ,有如下这些接口
81
+ 对于某个一个 ` NbtCompound ` 类型的对象 ` comp ` ,有如下这些接口
82
82
83
83
#### 获取所有的键
84
84
@@ -94,7 +94,7 @@ local nbt = NbtCompound({
94
94
` comp.getTypeOf(key) `
95
95
96
96
- 参数:
97
- - key: ` String `
97
+ - key: ` String `
98
98
要查询的键名
99
99
- 返回值:对应的值的数据类型
100
100
- 返回值类型:` Enum `
@@ -111,12 +111,12 @@ local nbt = NbtCompound({
111
111
` comp.setTag(key,tag) `
112
112
113
113
- 参数:
114
- - key: ` String `
114
+ - key: ` String `
115
115
要操作的键名
116
- - tag: ` NBT对象 `
116
+ - tag: ` NBT Object `
117
117
要写入的 NBT 对象(它承载着具体的NBT数据)
118
118
写入数据类型必须和键对应的值储存的数据类型一致,键名可以不存在
119
- - 返回值:CompoundTag自身
119
+ - 返回值:CompoundTag 自身
120
120
- 返回值类型:` NBTCompound `
121
121
122
122
@@ -126,11 +126,11 @@ local nbt = NbtCompound({
126
126
` comp.getTag(key) `
127
127
128
128
- 参数:
129
- - key: ` String `
129
+ - key: ` String `
130
130
要操作的键名
131
- - 返回值:键对应的NBT对象
132
- - 返回值类型: ` NBT对象 `
133
- - 如果要读取的NBT不存在 ,将返回` Null `
131
+ - 返回值:键对应的 NBT 对象
132
+ - 返回值类型: ` NBT Object `
133
+ - 如果要读取的 NBT 不存在 ,将返回` Null `
134
134
135
135
136
136
@@ -139,9 +139,9 @@ local nbt = NbtCompound({
139
139
` comp.removeTag(key) `
140
140
141
141
- 参数:
142
- - key: ` String `
142
+ - key: ` String `
143
143
要操作的键名。键名必须已经存在
144
- - 返回值:处理完毕的NBT对象 (便于连锁进行其他操作)
144
+ - 返回值:处理完毕的 NBT 对象 (便于连锁进行其他操作)
145
145
- 返回值类型:` NbtCompound `
146
146
147
147
@@ -164,12 +164,12 @@ local nbt = NbtCompound({
164
164
` comp.setString(key,data) `
165
165
166
166
- 参数:
167
- - key: ` String `
167
+ - key: ` String `
168
168
要操作的键名
169
- - data: ` 上述类型 `
169
+ - data: ` 上述类型 `
170
170
要写入的具体数据
171
171
写入数据类型必须和键对应的值储存的数据类型一致,键名可以不存在
172
- - 返回值:写入完毕的NBT对象 (便于连锁进行其他操作)
172
+ - 返回值:写入完毕的 NBT 对象 (便于连锁进行其他操作)
173
173
- 返回值类型:` NbtCompound `
174
174
175
175
@@ -179,51 +179,51 @@ local nbt = NbtCompound({
179
179
` comp.getData(key) `
180
180
181
181
- 参数:
182
- - key: ` String `
182
+ - key: ` String `
183
183
要操作的键名
184
184
- 返回值:键对应的值的具体数据
185
185
- 返回值类型:` 任意类型 ` ,以储存的数据类型为准
186
- - 如果目标位置储存的是` List ` 类型 NBT,将返回一个` NbtList ` 对象;如果目标位置储存的是` Compound ` 类型 NBT,将返回一个` NbtCompound ` 对象
187
- - 如果要读取的NBT不存在 ,将返回` Null `
186
+ - 如果目标位置储存的是 ` List ` 类型 NBT,将返回一个 ` NbtList ` 对象;如果目标位置储存的是 ` Compound ` 类型 NBT,将返回一个 ` NbtCompound ` 对象
187
+ - 如果要读取的 NBT 不存在 ,将返回 ` Null `
188
188
189
189
190
190
191
- #### 将 NBT 标签对象 转换为Object
191
+ #### 将 NBT 标签对象转换为 Object
192
192
193
193
` comp.toObject() `
194
194
195
195
- 返回值:对应的对象 / 表
196
196
- 返回值类型:` Object `
197
197
198
- 将Compound的内容转换为脚本引擎对象,把数据项都转换为脚本引擎数据类型储存于对象的对应key中 ,方便读取和处理
199
- 如果Compound某一项储存的是 ` List ` 或者 ` Compound ` 类型的 NBT,将在对应位置递归展开为` Array ` 或 ` Object `
198
+ 将 Compound 的内容转换为脚本引擎对象,把数据项都转换为脚本引擎数据类型储存于对象的对应 key 中 ,方便读取和处理
199
+ 如果 Compound 某一项储存的是 ` List ` 或者 ` Compound ` 类型的 NBT,将在对应位置递归展开为 ` Array ` 或 ` Object `
200
200
201
201
202
202
203
- #### 将 NBT 标签对象 序列化为SNBT
203
+ #### 将 NBT 标签对象序列化为 SNBT
204
204
` nbt.toSNBT([space]) `
205
205
206
206
- 参数
207
207
- space : ` Integer `
208
208
(可选参数)如果要格式化输出的字符串,则传入此参数
209
209
代表每个缩进的空格数量,这样生成的字符串更适合人阅读
210
- 此参数默认为-1,即不对输出字符串进行格式化
211
- - 返回值:对应的SNBT字符串
210
+ 此参数默认为 -1,即不对输出字符串进行格式化
211
+ - 返回值:对应的 SNBT 字符串
212
212
- 返回值类型:` String `
213
213
214
- > 除了普通的二进制NBT之外,另一种玩家更熟悉的NBT是纯文本形式的 ,通常在[ 命令] ( https://zh.minecraft.wiki/w/命令 ) 里使用。这种格式常被称为** SNBT** (** 字符串化的二进制命名标签** ,** S** tringified ** NBT** )
214
+ > 除了普通的二进制 NBT 之外,另一种玩家更熟悉的 NBT 是纯文本形式的 ,通常在[ 命令] ( https://zh.minecraft.wiki/w/命令 ) 里使用。这种格式常被称为** SNBT** (** 字符串化的二进制命名标签** ,** S** tringified ** NBT** )
215
215
>
216
216
> --- Minecraft Wiki
217
217
218
218
219
219
220
- #### 将 NBT 标签对象 序列化为二进制NBT
220
+ #### 将 NBT 标签对象 序列化为二进制 NBT
221
221
222
222
` comp.toBinaryNBT() `
223
223
224
- - 返回值:对应的二进制NBT数据
224
+ - 返回值:对应的二进制 NBT 数据
225
225
- 返回值类型:` ByteBuffer `
226
- > 只有完整的顶层Compound标签可以被转换为二进制NBT
226
+ > 只有完整的顶层Compound标签可以被转换为二进制 NBT
227
227
228
228
229
229
@@ -233,5 +233,5 @@ local nbt = NbtCompound({
233
233
- 返回值:是否成功清理
234
234
- 返回值类型:` Boolean `
235
235
236
- 注意,只有根Compound标签可以被销毁 ,而且,请谨慎使用此函数,不当的使用将会造成服务器崩溃
237
- 合适的销毁有助于解决内存占用问题。在销毁完后,请千万不要再使用此NBT对象和他的所有子对象
236
+ 注意,只有根 Compound 标签可以被销毁 ,而且,请谨慎使用此函数,不当的使用将会造成服务器崩溃
237
+ 合适的销毁有助于解决内存占用问题。在销毁完后,请千万不要再使用此 NBT 对象和他的所有子对象
0 commit comments