ItemFoodProxy

基本信息

属性 值
类名 squeek.applecore.api.food.ItemFoodProxy
类型 class,5 个静态方法
启用版本 Minecraft 1.7.10

功能

原版 ItemFood 的部分静态方法在 1.7.10 中无法被外部安全改写, AppleCore 提供本门面把调用转到自己的实现上。

方法 说明
getFoodValues(ItemStack) 转发到 FoodValues.get
getFoodValues(ItemStack, EntityPlayer) 转发到带玩家参数的重载
getItemFoodStats(ItemStack, EntityPlayer) 取得「加完之后的」食物状态数值
isFoodItem(ItemStack) 判断是否被当作食物
eatItem(...) / onItemFoodFinish 等 进食流程的转发入口

实现要点

  • 本类是门面,实际逻辑仍在 FoodStatsMixin 与原版 ItemFood 中;facade 存在的意义是让依赖方无需自己判断 该调原版还是 AppleCore。
  • 3 个取值方法最终都会触发 FoodEvent 的 GetFoodValues / GetPlayerFoodValues。

相关条目