天才一秒记住【第一中文网】地址:www.dyzww.cc
再加一个0.5,因为只要一把弓附魔了力量,不管是多少级,都会额外加上0.5,然后再加上(0.5x力量等级)。所以,实际上的值应该是:
.5d
实际上箭造成的伤害不会那么低。箭的伤害还有被箭的速度影响,具体公式如下:
V箭xdamage+暴击伤害=真实伤害
但还有一些情况伤害是个定值,如发射器射出的箭伤害一定是3滴血。
damage是这样,那接下来的shake又是何物?
shake的意思是“摇”,这个比较难猜,就直接上答案:
当箭击中方块时,shake将会设定为7(单位为游戏刻)。在shake还未降为0时,就是箭的“抖动状态”,玩家此时不能捡起箭,需待shake为0时,方可捡起。
上面Nbt中的shake值为0b,b就说明这是字节型数值。这个0,说明这支箭可能还在飞行,也可能已经落地超过0.35秒了。
那该如何判断一支箭是否落地了呢?
ground的意思是“地面”,作为动词时有“着陆”的意思。上面,我们归纳出的第三个我们还不知道是干啥的Nbt标签是“inGround”。in the ground是一个短语,和on the ground意思差不多,都是“在地面”的意思,只不过前者更注重于强调“接触”。
那“inGround”的作用大家应该猜到了吧?即:
箭是否接触地面。
上面的Nbt标签中,inGround的值是:
0b
说明inGround的数值类型为byte(字节型),同时这个0(false)也说明了这支箭还在飞。如果这里的值不是0,而是1(true),那就是接触地面了。
当一支箭接触到地面,就代表玩家可以捡起它。但,众所周知,小白射出的箭玩家是不能白嫖的,你知道这是为什么吗?
你肯定不知道,但看完下面这一段,你就知道了。
实际上,不光是小白的箭无法捡起。当你开启创造模式用弓射一发再调成生存时,你会发现你照样无法捡起创造模式射出来的箭。
为啥?
pickup这个单词的意思是“皮卡”,但这边应该把它拆分成pick up(捡起)。
既然pick up的意思是捡起,那么就是对捡起的设置咯?
对!
在上面的Nbt中,pickup的值是2b,b说明这也是一个byte字节型标签。那这个2说明了什么?
pickup的值你翻遍整个minecraft之后会发现只有三种:
小白射出的箭——0
你在非创造模式射出的箭——1
你在创造模式射出的箭——2
结合你玩minecraft的经验和作者上面分享的发现,可以得出:
非玩家生物射出的箭:0——不可被玩家捡起
非创造模式玩家射出的箭(发射器也算):1——可被除旁观者模式外其他模式玩家捡起(注:wiki上言“可以被玩家在生存或创造模式中捡起”,未提冒险模式,但作者实测冒险模式也可以捡起)
创造模式玩家射出的箭:2——只可被创造模式玩家捡起
现在我们可以回答上面的问题了:
这个2说明了这是一个创造模式玩家射出的箭
(注:用指令生成的箭pickup值也是0,即不可被捡起。推测是游戏本身产生的箭都不可以被玩家捡起)
........
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!