在Minecraft中,一个魔咒一定拥有有两个信息:魔咒ID和魔咒等级。对应到上面的NBT中,每个魔咒就是列表内的复合标签,魔咒ID就是复合标签内的id标签,魔咒等级就是复合标签内的lvl标签。
比如{ench:[{id:34,lvl:10},{id:16,lvl:8}]},在Java版就代表耐久X和锋利ⅤIII两个魔咒(注:Java版和基岩版的魔咒ID并不一样,这里是Java版的魔咒ID)。也就是说,当你运行/give @s diamond 1 0 {ench:[{id:34,lvl:10},{id:16,lvl:8}]}时,你会获得一个附魔了耐久X和锋利ⅤIII的钻石。
标签lvl的值的上限是,这就是为什么级的附魔这么出名。
现在你会用了吧?但请注意,以上的所有内容都是基于Java1.13更新前的版本和基岩版,在Java1.13更新后,情况就不一样了。
在Java1.13更新后的版本中,自定义附魔的NBT变成了:
{Enchantments:[{id:“xx“,lvl:xx},{id:“xx“,lvl:xx}]}
不难发现,附魔用的NBT标签有两个大修改:
①标签ench的名称变成了全称Enchantment的复数Enchantments
②标签id的值类型变成了字符串,填的是魔咒的英文ID
除了这两个显而易见的大修改外,还有一个细微的小修改: