FoodEvent

基本信息

属性 值
类名 squeek.applecore.api.food.FoodEvent
类型 abstract class extends Event,内含 4 个静态事件类
启用版本 Minecraft 1.7.10

功能

进食相关的 4 个可取消 / 可覆写事件。

事件 可写字段 触发时机
GetFoodValues foodValues(非 final) 查询任意食物的数值时
GetPlayerFoodValues foodValues(非 final) 对特定玩家查询食物数值时
FoodEaten 全部 final 玩家吃完食物、数值已入账后(只读通知)
FoodStatsAddition 全部 final 数值即将写入 FoodStats 前(只读通知)

实现要点

  • GetFoodValues / GetPlayerFoodValues 的 foodValues 字段非 final, 监听器可整体替换;两者都另带一个 final unmodifiedFoodValues 作为对照基准。
  • FoodEaten 携带 hungerAdded 与 saturationAdded 两个实际增量, 以及触发时的 FoodValues,可用于审计数值被改成了多少。
  • FoodEaten 与 FoodStatsAddition 的字段全为 final,只能取消不能改值。
  • 全部 4 个事件的触发点集中在 FoodStatsMixin 与 ItemFoodProxy。

相关条目