天才一秒记住【第一中文网】地址:www.dyzww.cc
民需要收购的东西,值为物品通用标签。
buyb(复合标签)——该交易项目中村民需要收购的第二个东西,值为物品通用标签。该标签不一定需要。
sell(复合标签)——该交易项目中村民出售的东西,值为物品通用标签。
举个简单的例子:
\/summon villager ~~~{careerLevel:200,offers:{Recipes:[{rewardExp:1,maxUses:,buy:{count:1,id:“twilightforest:trophy“,damage:4},buyb:{count:10,id:“minecraft:emerald“},sell:{count:1,id:“minecraft:diamond_sword“,tag:{ench:[{id:16,lvl:10}]}}}]}}
(上面这条指令适用于Java1.13之前的版本)
看起来这个很复杂,但如果你能够把它展开再看就极为简单了。
这条指令将会生成一名careerLevel为200的村民,他有一个可以使用15万次并且可以提供经验值的交易项目:用1个幻影骑士战利品(暮色森林mod)+10绿宝石换取一把锋利x的钻石剑。
现在你可以尝试自己去自定义一个交易项目。但请注意,最好新建一个txt文件并使用notepad、文本文档之类的程序打开再在里面编写指令(因为这样子可以用换行+tab键以类似于代码的样子编写,极为方便),编写完成后再复制进游戏中执行。不要在游戏内的命令方块、聊天栏内编写,因为这样子很容易出错!
村民的Nbt除了上面讲到和交易有关的标签,还有另外三个并不怎么重要的标签:
Riches(Int整形)——直译为“富有的”,游戏内没有使用,会随村民收到绿宝石而上升。
willing(byte布尔值)——村民是否愿意繁殖,1为愿意。会在进行一次让交易项目刷新的交易后变为1。
Inventory(列表)——村民的背包,但并没有栏位之分。举个简单的例子:
\/summon villager ~~~{Inventory:[{id:“minecraft:emerald“,count:64}]}
这将会生成一名有64个绿宝石的村民。
村民的背包只有8格,所以如果这个列表内的项目超过了8格,多余的部分将会被清除(除非能够与没有超过的部分堆叠)。
现在,你知道如何自定义村民交易了吧?需要注意,单个村民具有的交易项目最多只能有16项!