HealthRegenEvent
基本信息
| 属性 | 值 |
|---|---|
| 类名 | squeek.applecore.api.hunger.HealthRegenEvent |
| 类型 | abstract class extends Event,内含 4 个静态事件类 |
| 启用版本 | Minecraft 1.7.10 |
功能
生命值自然回复机制的 4 个事件。
| 事件 | 可写字段 | 触发时机 |
|---|---|---|
AllowRegen |
无(仅可取消) | 回血判定之前 |
GetRegenTickPeriod |
regenTickPeriod(初值 80) |
查询回血间隔时 |
Regen |
deltaHealth(初值 1f)、deltaExhaustion(初值 3f) |
实际回血时 |
PeacefulRegen |
deltaHealth(初值 1f) |
和平难度下的回血 |
实现要点
- 4 个事件均带
public final EntityPlayer player。 GetRegenTickPeriod的初值80tick 即原版 4 秒回血一次。Regen的deltaExhaustion初值3f与原版一致(每回 1 点血消耗 3 点 exhaustion)。 把它设为0f即可实现「回血不消耗」——这正是 Hunger In Peace 类 mod 的做法。PeacefulRegen是独立事件,deltaHealth初值同为1f,但不带 exhaustion 字段; 触发点在 EntityPlayerMixin 的onLivingUpdate。PeacefulRegen可被取消,从而在和平难度下抑制原生回血。
相关条目
- ExhaustionEvent -
Regen消耗的消耗值事件 - StarvationEvent - 饥饿掉血事件
- FoodStatsMixin -
AllowRegen/GetRegenTickPeriod/Regen的触发点 - EntityPlayerMixin -
PeacefulRegen的触发点