StarvationEvent
基本信息
| 属性 | 值 |
|---|---|
| 类名 | squeek.applecore.api.hunger.StarvationEvent |
| 类型 | abstract class extends Event,内含 3 个静态事件类 |
| 启用版本 | Minecraft 1.7.10 |
功能
饥饿掉血机制的 3 个事件。
| 事件 | 可写字段 | 触发时机 |
|---|---|---|
AllowStarvation |
无(仅可取消) | 掉血判定之前 |
GetStarveTickPeriod |
starveTickPeriod(初值 80) |
查询掉血间隔时 |
Starve |
starveDamage(初值 1f) |
实际掉血时 |
实现要点
- 3 个事件均带
public final EntityPlayer player。 GetStarveTickPeriod初值80tick,与原版一致。Starve的starveDamage初值1f即原版每 4 秒掉 1 点血; 构造器中带一个条件判断:当玩家生命值<= 10.0F且难度不是 HARD 时 不执行伤害(与原版FoodStats的tickCount逻辑一致)。- 三个事件的触发点全部位于 FoodStatsMixin 的
addStats。
相关条目
- ExhaustionEvent - 掉血的上游(消耗值耗尽)
- HealthRegenEvent - 掉血的对立面
- FoodStatsMixin - 全部 3 个事件的触发点
- IAppleCoreAccessor -
getStarveDamageTickPeriod的声明处