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 的初值 80 tick 即原版 4 秒回血一次。
  • Regen 的 deltaExhaustion 初值 3f 与原版一致(每回 1 点血消耗 3 点 exhaustion)。 把它设为 0f 即可实现「回血不消耗」——这正是 Hunger In Peace 类 mod 的做法。
  • PeacefulRegen 是独立事件,deltaHealth 初值同为 1f,但不带 exhaustion 字段; 触发点在 EntityPlayerMixin 的 onLivingUpdate。
  • PeacefulRegen 可被取消,从而在和平难度下抑制原生回血。

相关条目