⑥每个交易项目的价格都会受到该村民言论以及其他因素的影响,可能会上浮也可能会打折。
上面这六个特点其实与村民NBT标签中的这些标签有关:
①VillagerData(复合标签)
②VillagerData内的level、Xp和一个交易项目中的xp(均为Int整形)
③一个交易项目中的buy、bugB和sell(均为复合标签)
④一个交易项目中的rewardExp(Byte布尔值)
⑤Brain(复合标签)和一个交易项目中的maxUses(Int整形)
⑥Gossips(复合标签列表)和一个交易项目中的demand、specialPrice和priceMultiplier(前两者为Int整形,后者为Float单精度浮点数)
为了在村庄与掠夺更新后也能够使用NBT自定义交易,我们得先来看看村民职业方面的改变。
在1.14版本之前,村民有一级职业(Profession标签决定)和二级职业(Career标签决定)。而在1.14版本更新后,就没有什么一级二级之分,所有职业都有了单独的命名空间ID,如农民就有了minecraft:farmer。并且由于职业不再分一级二级,所以在新版本只有一个标签决定着村民的职业:VillagerData复合标签下的profession标签。
profession标签的值就是该村民的职业ID。截止Java1.19版本,原版村民14个职业的ID分别是:
minecraft:armorer——盔甲匠
minecraft:butcher——屠夫
minecraft:cartographer——制图师
minecraft:cleric——牧师
minecraft:farmer——农民
minecraft:fisherman——渔夫
minecraft:fletcher——制箭师
minecraft:leatherworker——皮匠
minecraft:librarian——图书管理员
minecraft:mason——石匠
minecraft:nitwit——傻子(这也是职业?)
minecraft:shepherd——牧羊人
minecraft:toolsmith——工具匠