FoodStatsExt
基本信息
| 属性 | 值 |
|---|---|
| 类名 | squeek.applecore.mixinplugin.ducks.FoodStatsExt |
| 类型 | interface,2 个方法 |
| 挂载方 | FoodStatsMixin |
| 启用版本 | Minecraft 1.7.10 |
功能
Mixin duck 接口,为 FoodStats 追加两个原版没有的 setter。
| 方法 | 说明 |
|---|---|
void setPlayer(EntityPlayer entityPlayer) |
补上 FoodStats 中对玩家的反向引用 |
void setStarveTimer(int starveTimer) |
写入原版私有且无 setter 的掉血计时器 |
实现要点
FoodStats原版构造器不保存EntityPlayer引用(只有foodLevel等数值), AppleCore 需要反查玩家才能派发带player的事件,故补setPlayer。setStarveTimer对应 IAppleCoreMutator 的setStarveDamageTickCounter。- 字段访问本身由 FoodStatsAccessor
提供的
@Accessor完成;本接口只负责方法层面的追加。 两者由同一个 Mixin 承担但分工不同。
相关条目
- EntityPlayerExt - 同一层的另一个 duck 接口
- FoodStatsMixin - 实现本接口
- FoodStatsAccessor - 字段访问通道
- IAppleCoreMutator -
setStarveDamageTickCounter的声明处