(个人觉得还是直接写NBT好,所以不用标签了)
在正式开始NBT前,我们需要解决一些问题:/give格式
你可能在第八章的时候已经记住了这个JAVA版的/give格式(基岩版没问题):
/give 〈目标选择器〉〈物品ID〉〈数量〉〈数据值〉〈NBT〉
你一定认为这是对的格式是不是?
但如果你在1.13版本及以上版本使用第五十八章的附魔指令:
/give @s apple 1 0 {ench:[{lvl:32767,id:16}]}
(给予自己一个锋利32767级的苹果)
你就会提出一个问题:
哎这指令不对呀。
这很正常。
1.13是什么更新?水域更新。
实际上它还有一个更新:指令更新。
如你所见,1.13添加了tag,更改了execute,删除了数据值,反正用一个词总结就是:
大翻新!
而我们的give,从JAVA1.3版本被添加到1.12,基本没啥大更新。于是Mojang就盯上了give,然后上面这条指令,如你所见,没用了。
那么问题来了:Mojang在1.13版本给give更新了个啥格式呢?
比较一下你就知道了:
1.13版本以前——/give 〈目标选择器〉〈物品ID〉〈数量〉〈数据值〉〈NBT〉
1.13版本以后——/give 〈目标选择器〉〈物品ID〉〈数量〉
你肯定很气愤:为什么把NBT删了?
其实没删,NBT还在,只不过和物品ID融合在一起了。
也就是说,1.13版本以后,上面这条指令就要变成:
/give @s apple{ench:[{lvl:32767,id:“sharpness“}]} 1
NBT跑数量前面去了。
其实这样子更合理一些,因为NBT是物品的NBT,过了好几个版本回回家也是可以理解的......
但如果你去运行这条指令,你会发现:你获得的只是一个普通的钻石剑。
为什么呢?其实Mojang还对NBT进行了修改。
然后,缩写就被Mojang改成了全称。
没错,ench是缩写,那么它的全称又是什么呢?
Enchantments(注意大小写)
没错,ench是缩写,是enchant的缩写,但enchant还是缩写,真正的全称是Enchantments(而且还要注意大小写我靠)。
其实,上面的估计不只是give,因为NBT和物品ID合并,其他的比如replaceitem多多少少都会被影响到。
所以,1.13版本不要玩了,玩1.12版本吧[滑稽保命]。
NBT在1.13版本经历了一次大修改,所以接下来的章节,请各位注意自己的版本以及书上写的版本。
(1.12.2和1.13的指令有很大不同,所以之前书中有些内容因为没有划分版本号导致有些错误,比如r和rm在JAVA1.12版本还在,1.13版本才被更改为distance,目前这个错误已经改正,其他地方如果有错误的话也欢迎指正)
(张三(高兴):嘿李四,我获得了腐竹箱子里的一把2147483647级锋利的下界合金剑!我们要发财了!)
(李四(震惊):我靠你怎么偷的?那里可是有出生点保护的啊!)
(张三:额这个其实并不是我偷的,是一个管理员偷的。告诉你,这把剑可是我花了100多大洋弄到的)
(李四:那还等什么啊?赶紧趁服务器没其他人去刷啊!)
(王五(惊讶):张三兄,你确定这把剑附魔的是2147483647级的锋利?)
(张三:千真万确)
(王五:这不对呀......老子昨天听别人说这附魔等级最高也才32767啊?这腐竹是开挂了吗?!)
(张三&李四:???)
(赵六(紧张):快点!刚刚腐竹在QQ群说要上线了!赶紧撤!)
([赵六退出了游戏])
([李四推出了游戏])
([张三退出了游戏])
([王五退出了游戏])
([一只可爱的管理加入了游戏])
([腐竹加入了游戏])
.......