关灯 巨大 直达底部
亲,双击屏幕即可自动滚动
第一百五十四章 村庄与掠夺更新前的自定义交易

Offers有什么用我们并不知道,似乎去掉这个NBT标签把Recipes拿出来也丝毫没有问题,也不知道Mojang为何要在Recipes外套一个Offers。

单个交易项目有以下NBT标签:

rewardExp(Byte布尔值)——交易成功后是否提供经验球,1为提供,0为不提供。

maxUses(Int整形)——该交易项目能够使用的次数,当交易项目被刷新时会随机增加2~12。

uses(Int整形)——该交易项目已经被使用的次数。如果大于等于maxUses该交易项目将会无法使用。交易项目刷新时maxUses会随机增加,uses就再次小于maxUses,交易项目便重新开启。

buy(复合标签)——该交易项目中村民需要收购的东西,值为物品通用标签。

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项!

喜欢Minecraft指令手册请大家收藏:()Minecraft指令手册更新速度全网最快。