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