第189章 ,/.

你会发现,猪仅仅受到了攻击,然后开始四处乱跑而已。让我们等一下它跑完,然后运行下面的指令再次造成伤害:/damage @e[type=pig] 1 entity_attack entity @s

猪→ ε=红猪(被击退)→ε=ε=猪(跑)→猪

你会发现,猪不仅仅受到了攻击,还向一个方向退了几步。

通过上面的实验,你会发现:指定『伤害来源』参数还可以使得攻击有一定的方向。那么这个方向是怎么计算出来的呢?

██████████民→██

██████████████

█████←猪███████

██████████████

我们来看看上述网格,箭头代表着实体的朝向。让我们尝试指定村民对猪造成伤害:

/damage @e[type=pig] 1 entity_attack entity @e[type=villager,c=1]

然后你就会发现猪被击退向了远离村民的方向:

██████████民→██

██████████████

██████████████

████←猪████████

这说明了什么?这说明了,指定『伤害来源』后,造成的攻击会具有方向,而这个方向和指定的攻击者向着被攻击者的方向是一致的。

但是需要注意,这个攻击方向的计算是2维的,并不是3维的。

什么意思呢?也就是说,攻击方向的计算不会考虑到两者的y坐标,仅仅会通过两者的xz坐标计算得出。所以你并不能通过召唤一个盔甲架,然后你站在上面,不断让盔甲架给你造成伤害使得你上天。你只会从天上被打下来。

那么这就是本章的全部内容了。

附表①:截止1.19.10版本所有伤害类型ID表

ID——死亡信息

anvil —— xxx 被坠落的铁砧压扁了

这章没有结束,请点击下一页继续阅读!

block_explosion —— xxx 爆炸了

charging —— xxx 死了

contact —— xxx 被 xxx 杀死了

drowning —— xxx 淹死了

entity_attack —— xxx 被 xxx 杀死了

entity_explosion —— xxx 被 xxx 炸死了(xxx 爆炸了)