第七十七章 damage-造成傷害
村民可以攻擊嗎?答案當(dāng)然是否定的。就算村民發(fā)射的煙花火箭爆炸會有傷害,這也不是村民本身的攻擊。
在Java版,如果你能精準(zhǔn)地把握住時間,將一個彈射物(如箭)的UUID改成一個村民的UUID,確實有可能會使得村民“攻擊”其他生物。那在基巖版呢?
Mojang雖然沒有給我們操控NBT來修改UUID的方式,但卻給了我們一條指令:/damage
/damage
作用:對指定實體造成傷害
存在版本:基巖版1.18.10-今
需要權(quán)限等級:基巖版-1
需要作弊:是
格式:
/damage <目標(biāo)實體><傷害大?。悍秦?fù)整數(shù)>[傷害類型]
/damage <目標(biāo)實體><傷害大?。悍秦?fù)整數(shù)><傷害類型> entity <傷害來源>
你可以指定『目標(biāo)實體』和『傷害大小』參數(shù),來簡單的對指定實體造成傷害。如果還指定了『傷害類型』和『傷害來源』參數(shù),就可以確定是誰對誰造成了傷害。比如下面的指令:
/damage @s 20 entity_attack entity @s
這將會使你自己對你自己造成20點的實體攻擊類型傷害,然后你就會收到這么一條消息:
你自己的游戲名被 你自己的游戲名殺死了
我殺我自己?
雖然你可以不指定傷害類型來造成傷害,但這樣子就會導(dǎo)致你死亡時,只會顯示出如下信息:
xxxxxx 死了
所以我們最好指定傷害類型。那有哪些傷害類型呢?我會將截止1.19.10版本的傷害類型列表放到本章末尾。
我們還可以指定『傷害來源』,來指定到底是誰造成了傷害。比如在上面的例子中,我們就指定了傷害來源為自己,這樣子就實現(xiàn)了『自己』對『自己』造成了傷害。
傷害來源這個參數(shù)有很多奇妙的用途,比如下面的指令:
/damage @e[type=iron_golem] 1 entity_attack entity @e[type=villager,c=1]
這將會使得距離執(zhí)行地點最近的村民對所有鐵傀儡造成1點的傷害,然后你就會看見......
『媽呀!鐵傀儡殺村民啦?。?!』
如你所見,傷害來源不僅僅可以使得死亡信息發(fā)生改變,還可以轉(zhuǎn)嫁生物仇恨,使得鐵傀儡親手殺死了村民。
但傷害來源的用途不止這么簡單。假設(shè)這里有一只豬,它靜止在原地。
我們運行下面的指令對它造成傷害,仔細(xì)觀察豬受到攻擊的情況:
/damage @e[type=pig] 1 entity_attack
豬→ 紅豬→ ε=ε=豬(跑)→豬
你會發(fā)現(xiàn),豬僅僅受到了攻擊,然后開始四處亂跑而已。讓我們等一下它跑完,然后運行下面的指令再次造成傷害:/damage @e[type=pig] 1 entity_attack entity @s
豬→ ε=紅豬(被擊退)→ε=ε=豬(跑)→豬
你會發(fā)現(xiàn),豬不僅僅受到了攻擊,還向一個方向退了幾步。
通過上面的實驗,你會發(fā)現(xiàn):指定『傷害來源』參數(shù)還可以使得攻擊有一定的方向。那么這個方向是怎么計算出來的呢?
██████████民→██
██████████████
█████←豬███████
██████████████
我們來看看上述網(wǎng)格,箭頭代表著實體的朝向。讓我們嘗試指定村民對豬造成傷害:
/damage @e[type=pig] 1 entity_attack entity @e[type=villager,c=1]
然后你就會發(fā)現(xiàn)豬被擊退向了遠(yuǎn)離村民的方向:
██████████民→██
██████████████
██████████████
████←豬████████
這說明了什么?這說明了,指定『傷害來源』后,造成的攻擊會具有方向,而這個方向和指定的攻擊者向著被攻擊者的方向是一致的。
但是需要注意,這個攻擊方向的計算是2維的,并不是3維的。
什么意思呢?也就是說,攻擊方向的計算不會考慮到兩者的y坐標(biāo),僅僅會通過兩者的xz坐標(biāo)計算得出。所以你并不能通過召喚一個盔甲架,然后你站在上面,不斷讓盔甲架給你造成傷害使得你上天。你只會從天上被打下來。
那么這就是本章的全部內(nèi)容了。
附表①:截止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 爆炸了)
fall —— xxx 落地過猛
falling_block —— xxx 死了
fire —— xxx 浴火焚身
fire_tick —— xxx 被燒死了
fireworks —— xxx 在一聲巨響中陣亡了
fly_into_wall —— xxx 遭受了動態(tài)能量
freezing —— xxx 凍死了
lava —— xxx 試圖在熔巖里游泳
lightning —— xxx 被閃電擊中
magic —— xxx 被 xxx 使用的魔法殺死了(xxx 被魔法殺死了)
magma —— xxx 死了
none —— xxx 死了
override —— xxx 死了
piston —— xxx 死了
projectile —— xxx 被 xxx 殺死了
stalactite —— xxx 被墜落的鐘乳石刺穿了
stalagmite —— xxx 被釘在了石筍上
starve —— xxx 餓死了
suffocation —— xxx 在墻里窒息而亡(需要目標(biāo)實體卡在方塊里才能使用此傷害類型,否則無法造成傷害)
suicide —— xxx 死了
temperature —— xxx 死了
thorns —— xxx 死了
void —— xxx 掉出了這個世界
wither —— xxx 凋謝了
?。ㄉ鲜鲂畔碜怨俜礁郊影臋n+作者自己測試得出)
附表②:/damage歷史
基巖版
1.18.10——加入了/damage