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,构造器私有。

相关条目