🎈 實體相關事件
"onMobDie" - 生物死亡
-
監聽函數原型
function(mob,source,cause) -
參數:
- mob :
Entity
死亡的實體對象 - source :
Entity
傷害來源的實體對象(可能為Null) - cause :
Integer
死亡原因
- mob :
-
攔截事件:不可以攔截
注意,當玩家死亡時,除了觸發onPlayerDie事件,這個事件同樣也會被觸發一次
"onMobHurt" - 生物受傷(包括玩家)
- 監聽函數原型
function(mob,source,damage,cause) - 參數:
- mob :
Entity
受傷的實體對象 - source :
Entity
傷害來源的實體對象(可能為Null) - damage :
Float
受到的傷害數值 - cause :
ActorDamageCause
受傷原因
- mob :
- 攔截事件:函數返回
false
ActorDamageCause 為傷害原因枚舉,枚舉值如下,有問號的待驗證,???待補充
ActorDamageCause 枚舉 | 值 | 解釋 |
|---|---|---|
ActorDamageCause.None | -1 | 其他 |
ActorDamageCause.Override | 0 | 非正常方式(如腳本直接設置血量為0),這種方式的傷害不會被盔甲與buff吸收 |
ActorDamageCause.Contact | 1 | 接觸傷害(如仙人掌) |
ActorDamageCause.EntityAttack | 2 | 實體攻擊 |
ActorDamageCause.Projectile | 3 | 拋射物攻擊 |
ActorDamageCause.Suffocation | 4 | 窒息(密封空間) |
ActorDamageCause.Fall | 5 | 掉落 |
ActorDamageCause.Fire | 6 | 燃燒 |
ActorDamageCause.FireTick | 7 | 點燃 |
ActorDamageCause.Lava | 8 | 熔岩 |
ActorDamageCause.Drowning | 9 | 溺水 |
ActorDamageCause.BlockExplosion | 10 | 方塊爆炸 |
ActorDamageCause.EntityExplosion | 11 | 實體爆炸 |
ActorDamageCause.Void | 12 | 虛空 |
ActorDamageCause.SelfDestruct | 13 | 自殺 |
ActorDamageCause.Magic | 14 | 尖牙對生物造成的傷害、守衛者對生物造成的魔法傷害和藥水傷害等 |
ActorDamageCause.Wither | 15 | 凋零效果 |
ActorDamageCause.Starve | 16 | 飢餓 |
ActorDamageCause.Anvil | 17 | 下落的鐵砧 |
ActorDamageCause.Thorns | 18 | 荊棘 |
ActorDamageCause.FallingBlock | 19 | 下落的方塊 |
ActorDamageCause.Piston | 20 | 活塞 |
ActorDamageCause.FlyIntoWall | 21 | 動能(滑翔撞牆) |
ActorDamageCause.Magma | 22 | 岩漿塊 |
ActorDamageCause.Fireworks | 23 | 煙花 |
ActorDamageCause.Lightning | 24 | 閃電 |
ActorDamageCause.Charging | 25 | 充能(?) |
ActorDamageCause.Temperature | 26 | 溫度 (雪人?) |
ActorDamageCause.Freezing | 27 | 冰凍 |
ActorDamageCause.Stalactite | 28 | 被鐘乳石砸到 |
ActorDamageCause.Stalagmite | 29 | 掉落到石筍上 |
ActorDamageCause.RamAttack | 30 | 山羊衝撞 |
ActorDamageCause.SonicBoom | 31 | 堅守著音爆攻擊 |
ActorDamageCause.Campfire | 32 | 營火 |
ActorDamageCause.SoulCampfire | 33 | 靈魂營火 |
ActorDamageCause.MaceSmash | 34 | 下落攻擊 |
ActorDamageCause.All | 35 | 所有 |
"onEntityExplode" - 發生由實體引起的爆炸
-
監聽函數原型
function(source,pos,radius,maxResistance,isDestroy,isFire) -
參數:
- source :
Entity
爆炸來源的實體對象 - pos :
FloatPos
爆炸發生的座標 - radius :
Float爆炸波及的半徑 - maxResistance :
Float
爆炸可破壞的方塊爆炸抗性上限 - isDestroy :
Boolean
爆炸是否破壞方塊 - isFire :
Boolean
爆炸是否產生火焰
- source :
-
攔截事件:函數返回
false
"onMobTrySpawn" - 發生於實體嘗試自然生成
-
監聽函數原型
function(typeName,pos) -
參數:
- typeName :
String
生成實體名稱 - pos :
FloatPos
生成的座標
- typeName :
-
攔截事件:函數返回
false
"onMobSpawned" - 發生於實體自然生成完成
-
監聽函數原型
function(entity,pos) -
參數:
- entity :
Entity
生成的實體對象 - pos :
FloatPos
生成的座標
- entity :
-
攔截事件:不可攔截
此事件為實體成功生成後觸發,不可直接攔截,如需攔截請使用entity.despawn()或entity.remove()
"onPortalTrySpawnPigZombie" - 下界傳送門嘗試生成殭屍豬靈
-
監聽函數原型
function(pos,axis) -
參數:
- pos :
IntPos
發生嘗試生成的位置(傳送門方塊座標) - axis :
Integer
傳送門朝向枚舉值(0=Unknown,1=X,2=Z)
- pos :
-
攔截事件:函數返回
false
"onProjectileHitEntity" - 實體被彈射物擊中
- 監聽函數原型
function(entity,source) - 參數:
- entity:
Entity
被擊中的實體對象 - source :
Entity
發射的彈射物實體(如箭)
- entity:
- 攔截事件:不可以攔截
"onWitherBossDestroy" - 凋靈破壞方塊
-
監聽函數原型
function(witherBoss,AAbb,aaBB) -
參數:
-
witherBoss:
Entity
凋靈的實體對象 -
AAbb:
IntPos
凋靈將破壞的區域(長方體),對角點A座標
- aaBB:
IntPos
凋靈將破壞的區域(長方體),對角點B座標
-
-
攔截事件:函數返回
false
注意,此事件不包括凋靈爆炸的破壞。
"onRide" - 生物騎乘
- 監聽函數原型
function(entity1,entity2) - 參數:
- entity1 :
Entity
嘗試騎乘的實體對象 - entity2 :
Entity
被騎乘的實體對象
- entity1 :
- 攔截事件:函數返回
false
注:騎乘包括坐礦車、坐船、騎馬、騎豬等。
"onStepOnPressurePlate" - 生物踩壓力板
- 監聽函數原型
function(entity,pressurePlate) - 參數:
- entity :
Entity
踩壓力板的實體對象 - pressurePlate :
Block
被踩的壓力板方塊對象
- entity :
- 攔截事件:函數返回
false
注:生物踩壓力板時,將會反覆多次觸發此事件。
"onSpawnProjectile" - 彈射物創建
-
監聽函數原型
function(shooter,type) -
參數:
-
shooter :
Entity
發射彈射物的的實體對象 -
type :
String
彈射物標準類型名
-
-
攔截事件:函數返回
false
注:已知可攔截的彈射物有雞蛋、末影珍珠、雪球、三叉戟、箭、釣竿(魚鉤)。
"onProjectileCreated" - 彈射物創建完畢
-
監聽函數原型
function(shooter,entity) -
參數:
-
shooter :
Entity
創建此彈射物的的實體對象 -
entity :
Entity
被創建的彈射物實體對象
-
-
攔截事件:不可以攔截
"onNpcCmd" - NPC執行命令
Warning
此事件僅在0.9.6及更高版本中可用。
- 監聽函數原型
function(npc,pl,cmd) - 參數:
- npc :
Entity
執行命令的NPC實體對象 - pl :
Player
觸發NPC命令執行的玩家對象 - cmd :
String
NPC執行的命令,如果有多條命令,以;分隔
- npc :
- 攔截事件:函數返回
false
"onChangeArmorStand" - 操作盔甲架
-
監聽函數原型
function(as,pl,slot) -
參數:
-
as:
Entity
被操作的盔甲架實體對象 -
pl :
Player
操作盔甲架的玩家對象 -
slot :
Number
裝備欄編號
-
-
攔截事件:函數返回
false
"onEntityTransformation" - 實體轉變
-
監聽函數原型
function(uniqueId,entity) -
參數:
- uniqueId:
String轉變前的實體的唯一標識符 - entity :
Entity轉換完成的實體
- uniqueId:
-
攔截事件:不可以攔截
注:此事件為 Addons 中實體的 TransformationComponent 激活時觸發,多用於引擎與Addon交互。由於轉變前的實體指針很快被銷燬,因此只提供
UniqueId。
"onEndermanTakeBlock" - 末影人搬運方塊
Warning
此事件僅在0.11.3及更高版本中可用。
- 監聽函數原型
function(entity, block, pos) - 參數:
- entity :
Entity
搬運方塊的末影人 - block :
Block
被搬運的方塊 - pos :
BlockPos
被搬運的方塊座標
- entity :
- 攔截事件:函數返回
false