我的世界1.12预览版17w16a快照的命令NBT更改。昨天我的世界1.12发布了最新的快照版17w16a,然后NBT也改变了,那具体来说改变了那些呢?大家跟着小编一起来看看吧。
目前17w16a的fw类别就是以前的JsonToNbt(不确定改了名没有,反正就是这个搞字串转nbt的了)
字串的更改(包括compound的key,也就是一般我们说的标签名称)
以前字串一般可以选择有没有""括住,除非: 字串内的括号并不完备(比如{{}这样,只在乎{}及[]),字串可能被读取成其他类型的nbt(如1, 1b, true等)。
即使字串有"或是也可以选择不被""括住,就是的转义麻烦一点而已...
然而,现在如果字串里面包括不属于 a-z A-Z . _ + -的字符(空格也不属于这几个字符),就必须得用""括住,并且需要转义
举个例子,say hi 这字符现在就必须用括号括住,因为它包括了不属于 a-z A-Z . _ + -的字符,也就是空格。
id:minecraft:stone 这nbt现在也会出现错误,因为包括了不属于 a-z A-Z . _ + -的字符,也就是冒号。
再看一个例子,CustomName:图书馆管理员 现在会出现错误,因为中文字也不属于 a-z A-Z . _ + - 的字符
标签名称现在也能够用""括住了,越来越像JSON了,然而并没什么卵用...根本没标签名称使用了其他字符233333
然而注意,是在没被""括住的字串内不能使用其他符号,然而其他情况是可以使用的。比如字符串的前后: CustomName : haha ,MC会删掉那些前后的空格的(这倒是和以前的差不多)。
列表(list)的改变
其一,我们再也不能使用所谓的索引(index)。以前很多人会误会 [0:a,1:b,2:c] 这样的0 1 2是里面元素的索引(其实那只会被忽略,并没有什么卵用),现在如果list里再出现 key: 的话(不包括里面compound里面的...),就会直接报错。这是不错的233333
其二,现在list的元素再也不能是不同的类型了。其实NBT格式的list是不能够不同类型的,然而以前的格式会直接忽略掉不同类型的。现在则会报错。
list的类型是视乎第一个元素的。比如 [1.0,2.0f,3.0] 就会报错,因为第二个元素是float而不同于第一个元素(integer)
注意: 即使那些元素可以变为其他元素的类型,比如[1, 1b] 或是 [1b, 1],也会报错,因为int和byte是不同的。
阵列(Array)的改变
以前有个东西叫integer array,写法与list类似,都是这样 [1, 2, 3, 4, 5] 的。
然而,现在mc改了,修改的地方有两个:
其一,多了个byte array,就是一个储存byte的array呗
其二,写法改了点,需要这样写: [I/B; 标签, 标签, 标签...]
比如[I;1, 2, 3],或者是[B; 1b, 2b, 3b]
注意: I和B必须大写。byte array的话,里面的元素必须有b后缀,即使是int也会报错。
还有,I和B后面那个是;
浮点数(float, double)的改变
现在滋磁科学记数法(Scientific notation)了,比如是 1.3e11
也可以弄个无限来玩玩:
float:3.5e38f
double:1.8e308
PS:在此非常感谢我的世界玩家pca006132的分享。
以上就是我的世界1.12预览版17w16a快照的命令NBT更改。更多精彩尽在游戏园我的世界专区。
19游戏网整理报道