天才一秒記住【UU看書】地址:www.uukanshu.co
村民可以攻擊嗎?答案當然是否定的。就算村民發射的煙花火箭爆炸會有傷害,這也不是村民本身的攻擊。
在Java版,如果你能精準地把握住時間,將一個彈射物(如箭)的UUID改成一個村民的UUID,確實有可能會使得村民“攻擊”其他生物。那在基岩版呢?
Mojang雖然沒有給我們操控NBT來修改UUID的方式,但卻給了我們一條指令:damage
damage
作用:對指定實體造成傷害
存在版本:基岩版11810今
需要許可權等級:基岩版1
需要作弊:是
格式:
damagelt目標實體gtlt傷害大小:非負整數gt傷害型別
damagelt目標實體gtlt傷害大小:非負整數gtlt傷害型別gtentitylt傷害來源gt
你可以指定『目標實體』和『傷害大小』引數,來簡單的對指定實體造成傷害。如果還指定了『傷害型別』和『傷害來源』引數,就可以確定是誰對誰造成了傷害。比如下面的指令:
damages20entityattackentitys
這將會使你自己對你自己造成20點的實體攻擊型別傷害,然後你就會收到這麼一條訊息:
你自己的遊戲名被你自己的遊戲名殺死了
我殺我自己?
雖然你可以不指定傷害型別來造成傷害,但這樣子就會導致你死亡時,只會顯示出如下資訊:
xxxxxx死了
所以我們最好指定傷害型別。那有哪些傷害型別呢?我會將截止11910版本的傷害型別列表放到本章末尾。
我們還可以指定『傷害來源』,來指定到底是誰造成了傷害。比如在上面的例子中,我們就指定了傷害來源為自己,這樣子就實現了『自己』對『自己』造成了傷害。
傷害來源這個引數有很多奇妙的用途,比如下面的指令:
damageetypeirongolem1entityattackentityetypevillager,c1
這將會使得距離執行地點最近的村民對所有鐵傀儡造成1點的傷害,然後你就會看見
『媽呀!鐵傀儡殺村民啦!!!』
如你所見,傷害來源不僅僅可以使得死亡資訊發生改變,還可以轉嫁生物仇恨,使得鐵傀儡親手殺死了村民。
但傷害來源的用途不止這麼簡單。假設這裡有一隻豬,它靜止在原地。
我們執行下面的指令對它造成傷害,仔細觀察豬受到攻擊的情況:
damageetypepig1entityattack
豬→紅豬→εε豬跑→豬
你會發現,豬僅僅受到了攻擊,然後開始四處亂跑而已。讓我們等一下它跑完,然後執行下面的指令再次造成傷害:damageetypepig1entityattackentitys
豬→ε紅豬被擊退→εε豬跑→豬
你會發現,豬不僅僅受到了攻擊,還向一個方向退了幾步。
透過上面的實驗,你會發現:指定『傷害來源』引數還可以使得攻擊有一定的方向。那麼這個方向是怎麼計算出來的呢?
██████████民→██
██████████████
█████←豬███████
██████████████
我們來看看上述網格,箭頭代表著實體的朝向。讓我們嘗試指定村民對豬造成傷害:
damageetypepig1entityattackentityetypevillager,c1
然後你就會發現豬被擊退向了遠離村民的方向:
██████████民→██
██████████████
██████████████
████←豬████████
這說明了什麼?這說明了,指定『傷害來源』後,造成的攻擊會具有方向,而這個方向和指定的攻擊者向著被攻擊者的方向是一致的。
但是需要注意,這個攻擊方向的計算是2維的,並不是3維的。
什麼意思呢?也就是說,攻擊方向的計算不會考慮到兩者的y座標,僅僅會透過兩者的xz座標計算得出。所以你並不能透過召喚一個盔甲架,然後你站在上面,不斷讓盔甲架給你造成傷害使得你上天。你只會從天上被打下來。
那麼這就是本章的全部內容了。
附表①:截止11910版本所有傷害型別ID表
ID——死亡資訊
anvil——xxx被墜落的鐵砧壓扁了
blockexplosion——xxx爆炸了
charging——xxx死了
contact——xxx被xxx殺死了
drowning——xxx淹死了
entityattack——xxx被xxx殺死了
entityexplosion——xxx被xxx炸死了(xxx爆炸了)
fall——xxx落地過猛
fallingblock——xxx死了
fire——xxx浴火焚身
firetick——xxx被燒死了
fireworks——xxx在一聲巨響中陣亡了
flyintowall——xxx遭受了動態能量
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在牆裡窒息而亡(需要目標實體卡在方塊裡才能使用此傷害型別,否則無法造成傷害)
suicide——xxx死了
temperature——xxx死了
thorns——xxx死了
void——xxx掉出了這個世界
wither——xxx凋謝了
(上述資訊來自官方附加包文件作者自己測試得出)
附表②:damage歷史
基岩版
11810——加入了damage