Mojangより配信されているMinecraft: Pocket EditionのModについて包括的に扱うwikiです。

entityHurtHook

最終確認バージョン(MCPE:0.14.0 BL:1.12.4)

概要

function entityHurtHook(attacker, victim, hearts){
}
エンティティがダメージを負った時に作動するフック関数。

attackHookはattackerがプレイヤーの場合のみフックするが、
この関数はプレイヤー以外が攻撃した場合もフックする。

また、エンティティはドロップアイテムを含み、恐らくほぼ全てのエンティティが対象だろうと考えられる。

ただし、エフェクトは例外らしく、毒やダメージのエフェクトによるダメージには反応しなかった。
フックのタイミング
または
preventDefaultの効果
このフックの中でpreventDefaultを使うと、攻撃がなかったことになる。
矢が刺さる時にpreventDefaultすると、クリエイティブモードの様に跳ね返る。
爆風などは飛ばされるだけでダメージはなくなる。
モブが炎上している場合、見た目は真っ赤になるがダメージは喰らわなくなる。

引数

引数説明
Numberattacker攻撃したエンティティのUUID
存在しない場合は -1 が渡される
Numbervictimダメージを受けたエンティティのUUID
intheartsダメージを受けたエンティティがこれから受けるダメージ量
アタッカーの種類
アタッカーの種類は、大きく分けてプレイヤーとそれ以外のモブと、なしの3パターンある。
アタッカー説明
プレイヤー通常のエンティティを叩くアクション
プレイヤーが投げた雪玉、卵、弓矢
浮きと釣り針のヒット、回収
火打ち石と打ち金で着火させたTNTの爆発
プレイヤーが跳ね返したファイヤーチャージ
プレイヤー以外モブの攻撃
クリーパーの自爆
スノーゴーレムが投げた雪玉
スケルトンの弓
ガストのファイヤーチャージ
なし( -1 )炎上ダメージ
窒息ダメージ
落下ダメージ
奈落ダメージ
飢餓によるダメージ
落雷
サボテン
レッドストーン入力で着火したTNTの爆発
炎で炎上着火したTNTの爆発
TNTトロッコの爆発
ダメージの量 Hearths
卵や雪玉、浮きと釣り針といった 0 ダメージの場合もフックする。

Heartsは防御力には関係なく。素っ裸で喰らった場合のダメージの量が渡される。
防御力やエフェクトによるダメージの増減は、この関数が終わった後の、実際にダメージを喰らう段階で計算されるようだ。

使用例

タグ

このページへのコメント

Level.spawnMobでスポーンさせた矢が刺さった場合、
attackerには矢のUUIDが渡される。

0
Posted by mihaell 2016年03月23日(水) 12:53:58 返信

コメントをかく


利用規約をご確認のうえご記入下さい

WIKi内検索

メンバーのみ編集できます

メンバー募集!