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。
相关条目