当前位置:笔屋小说网>Minecraft指令手册> 第一百五十六章 村庄与掠夺更新后的自定义交易(2/3)
阅读设置 (推荐配合 快捷键[F11] 进入全屏沉浸式阅读)

设置 X

第一百五十六章 村庄与掠夺更新后的自定义交易(2/3)

章节不对?章节无内容?换源看看: 81中文网
  

  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——工具匠

  minecraft:weaponsmith——武器匠

  举个例子,假设我们要生成一个农民,只需要这样子:

  /summonvilger~~~{VilgerData:{profession:“minecraft:farmer“}}

  然后游戏就会生成一个没有任何职业的村民。等等,怎么不是农民?

  因为我们没有指定工作站点。村民由于没有工作站点,所以就变成了无职业的村民。我们会在待会了解到如何解决这个问题。

  VilgerData内不仅仅有profession标签用来决定村民职业,还有另外两个比较重要的标签:

  level(Int整形)——村民的职业等级,新手为1级,大师为5级。如果设定的等级高于职业的最高等级,村民将不会开放新的交易项目。(没错,这就等同于1.14更新前的CareerLevel标签)

  type(字符串)——村民的种类,它指定了这个村民是沙漠村民(minecraft:desert)还是平原村民(minecraft:pins)还是其他类型的村民。

  其中的type标签不用管,除非你想要给村民弄点儿不一样的衣服。我们重点看看level标签。举个例子:

  /summonvilger~~~{VilgerData:{profession:“minecraft:farmer“,level:5}}

  这将会生成一个大师级别的农民。等等,怎么不变回无职业了?

  正常情况下,level字段只能由交易改变,也就是说玩家是个关键因素。新版本的村民虽然有工作站没掉就失业的性质,但如果游戏发现这个村民好像和其他玩家交易过,就不会让这个村民失业。在这边,由于我们改变了level标签的值,导致游戏认为这个村民已经和玩家交易过了,所以这个村民不会失业。

  上面这些也是1.14更新后与自定义交易关系相当大的内容,接下来我们来看看同样也是1.14更新后自定义交易的核心:Offers标签。

  Offers标签的内容其实变化并不大,我们在第一百五十四章所讲的内容可以完美适配过来,因此这里就不细讲那些重复的内容。我们就重点来看看1.14更新后,在交易项目中添加的4个新标签:

  xp(Int整形)——村民每次交易能从该交易项目中获取的经验值

  demand(Int整形)——价格调整因素之一:供需关系

  specialPrice(Int整形)——价格调整因素之二:特惠

  priceMultiplier(Float单精度浮点数)——价格调整因素之三:价格乘数

  xp标签我们就不讲了,做自定义交易干嘛要管村民升级。我们重点来看看后面三个标签,这三个标签十分重要,因为它们关系到一个非常重要的东西:价格

  在村庄与掠夺更新后,每个交易项目的第一个收购项,也就是buy复合标签所规定的物品,其数量,也就是价格,会发生变化。所以我们有一个专门的公式来计算村民收购的第一个物品的最终数量,也就是价格的计算公式:

  当a≥0时

  y=〔a×p×m〕 m-〔5A B C-D-5E)×p〕 e

  当a<0时

  y=m-〔5A B C-D-5E)×p〕 e

  参数列表

  a······该交易项目demand标签的值

  p······价格乘数

  m······原价

  y·······最终价格

  e······该交易项目specialPrice标签的值

  A······major_positive类言论强度

  B······minor_positive类言论强度

  C······trading类言论强度

  D······minor_negative类言论强度

  E······major_negative类言论强度

  其中,作者自己定义的六角括号〔〕,代表此括号内的运算在得出结果后会被去除小数部分,只保留整数部分。比如〔18.5〕=18、〔-64.12〕=-65、〔0.1〕=0

  你可能会感到疑惑:唉这个公式怎么和上一章的公式完全不一样啊?

  这个问题很有趣。上一章的公式作者是直接从MinecraftWiki上弄下来的,当时还顺带指出了一个小问题。但没想到这个公式本身就是错误的,为什么呢?因为在中文MinecraftWiki的村民页面上,竟然有两个完全不一样的价格计算公式!这两个计算公式如下:
本章节尚未完结,共3页当前第2页,请点击下一页继续阅读------>>>

上一页 目录 我的书架 下一页