AppleCoreAccessorMutatorImpl
基本信息
| 属性 | 值 |
|---|---|
| 类名 | squeek.applecore.api_impl.AppleCoreAccessorMutatorImpl |
| 类型 | enum(枚举单例),19 个方法 |
| 实现接口 | IAppleCoreAccessor + IAppleCoreMutator |
| 启用版本 | Minecraft 1.7.10 |
功能
一个枚举常量同时实现读、写两个接口,赋值给
AppleCoreAPI.accessor 与 AppleCoreAPI.mutator 两个字段
(它们指向同一对象)。
public enum AppleCoreAccessorMutatorImpl implements IAppleCoreAccessor, IAppleCoreMutator { instance;
// ... 19 个方法
}
实现要点
- 采用枚举而非静态类,是为了让类初始化成为线程安全的懒加载单例;
AppleCore.preInit通过引用AppleCoreAccessorMutatorImpl.values()强制其初始化。 - 19 = 接口侧 8 + mutator 侧 5 + 内部私有辅助 6。
- 写入的隐藏字段(
foodExhaustionLevel、两个 tick 计时器)依赖 FoodStatsAccessor 提供的@Accessor通道。 - 对外只暴露枚举常量
instance,构造器私有。
相关条目
- IAppleCoreAccessor - 只读接口
- IAppleCoreMutator - 写入接口
- AppleCoreAPI - 静态门面
- AppleCore - 强制初始化此枚举
- FoodStatsAccessor - 隐藏字段的访问通道