AppleCore
[!INFO] Git Commit:
eabf8de| Updated: 2026-10-01
食物与饥饿机制 API 库。把原版隐藏的饱食度 / 饱和度 / 消耗值(exhaustion)暴露成可读写的字段, 并把进食、饥饿掉血、回血、饿死、作物生长等原本不触发 Forge 事件的时机改造成标准可取消事件。 自身不注册任何方块 / 物品 / 实体 / 附魔 / 维度。
身份
| 属性 | 实测值 |
|---|---|
| modid | AppleCore(驼峰,ModInfo.java:9;gradle.properties:9 同值) |
| modName | AppleCore |
| 资源域 | AppleCore |
| Java 文件 | 75(3 543 行) |
| 注册内容 | 0 方块 / 物品 / 实体 |
| 配置项 | 7(server 1 + client 6) |
| 命令 | 1(/hunger) |
| Mixin | 21 个类(early 16 + late 5),其中 2 个未注册 |
| 硬依赖 | 无(dependencies 未声明;仅 Mixin 侧按目标 mod 条件加载) |
| 其它 | 声明 apiPackage = api;coreModClass 拼写为 AppleCoreLoadingPugin(源码内即此拼写) |
[!IMPORTANT] 定位:食物 / 饥饿 API 库,与苹果、工业、主题美术毫无关系 仓库名
AppleCore是作者 squeek502 的项目名,README 首句即An API for modifying the food and hunger mechanics of Minecraft,mcmod.info的description字段是同一句话。 全仓无任何苹果 / 果园 / 工业方块内容。
[!NOTE]
mcmod.info全文是${modId}/${modName}/${modVersion}/${minecraftVersion}占位符,modid 与版本只能从gradle.properties的modId与生成的Tags.VERSION读取。
API 接口列表
- AppleCoreAPI - 4 个静态入口字段(
accessor/mutator/dispatcher/registry),第三方 mod 的唯一取用点 - IAppleCoreAccessor - 8 个只读方法,读取饱食度 / 饱和度 / 消耗值
- IAppleCoreMutator - 5 个写入方法,直接改饱食度 / 饱和度 / 消耗值
- IAppleCoreDispatcher - 4 个植物生长事件的触发入口
- IAppleCoreRegistry - Block ↔ Item 食物对应关系注册表(3 方法)
食物事件列表
- FoodEvent - 4 个事件:
GetFoodValues、GetPlayerFoodValues、FoodEaten、FoodStatsAddition - FoodValues - 食物数值的可覆写容器(9 方法)
- IEdible - 单个食物 Item 的接口
- IEdibleBlock - 可吃方块的接口
- ItemFoodProxy - 5 方法门面,把
ItemFood的静态方法转发到 API
饥饿事件列表
- ExhaustionEvent - 4 个事件:
AllowExhaustion、GetMaxExhaustion、Exhausted、ExhaustFromHurt - HealthRegenEvent - 5 个事件:
AllowRegen、GetRegenTickPeriod、Regen、PeacefulRegen - StarvationEvent - 4 个事件:
AllowStarvation、GetStarveTickPeriod、Starve
植物生长事件列表
- PlantGrowthEvent - 2 个事件:
AllowGrowthTick、GrowthTick
API 实现列表
- AppleCoreAccessorMutatorImpl - 同时实现 accessor 与 mutator 的枚举单例(19 方法)
- AppleCoreDispatcherImpl - 派发植物生长事件的枚举单例(7 方法)
- AppleCoreRegistryImpl - Block ↔ Item 表的枚举单例(5 方法)
核心与配置列表
- AppleCore -
@Mod("AppleCore")主类,生命周期与客户端分支 - ModInfo -
MODID/MODAPI/GUI_FACTORY_CLASS常量与Tags.VERSION - ModConfig - 7 个配置项,含一处已废弃项的迁移读取
- AppleCoreLoadingPugin -
IFMLLoadingPlugin+IEarlyMixinLoader,挂载 early mixin 配置 - AppleCoreLateMixins -
@LateMixin装载器,挂载 late mixin 配置 - Mixins - Mixin 注册枚举,5 个条目覆盖 21 个类中的 19 个
- TargetedMod - 4 个 Mixin 目标判定,含 CodeChickenLib 版本嗅探
- EntityPlayerExt - Mixin duck 接口,为玩家附加 1 个方法
- FoodStatsExt - Mixin duck 接口,为 FoodStats 附加 2 个方法
同步列表
- SyncHandler - 同步阈值的总开关与客户端脏标记
- MessageExhaustionSync - 消耗值同步包(5 方法)
- MessageSaturationSync - 饱和度同步包(5 方法)
- NetworkHelper - 单方法工具,简化
IMessage实现样板
客户端列表
- HUDOverlayHandler - 18 方法,在饥饿条上叠加饱和度 / 数值 / 消耗进度条
- TooltipOverlayHandler - 按住 Shift 在食物 tooltip 上显示饥饿与饱和数值
- DebugInfoHandler - 向 F3 调试屏追加一行饱食度 / 饱和度 / 消耗值
- GuiFactory -
IGuiConfigHandlerFactory实现,提供配置界面入口 - GuiAppleCoreConfig - 实际配置界面
- KeyHelper - 2 方法的按键状态包装
命令列表
- Commands - 服务端启动时把命令挂到
CommandHandler(1 个注册入口) - CommandHunger -
/hunger <0-20> [玩家],权限等级 4
原版 Mixin 列表
- EntityPlayerMixin - 5 处注入:
<init>、setItemInUse、getItemInUseDuration、onLivingUpdate、damageEntity - FoodStatsMixin - 3 处注入于
addStats,是FoodStatsAddition事件的落点 - FoodStatsAccessor -
@Accessor注入,暴露隐藏字段 - BlockCactusMixin - 仙人掌伤害改走
ExhaustFromHurt - BlockCakeMixin - 2 处注入于
func_150036_b - BlockCocoaMixin - 可可豆生长事件
- BlockCropsMixin - 作物生长事件
- BlockMushroomMixin - 2 处注入于
updateTick - BlockNetherWartMixin - 下界疣生长事件
- BlockReedMixin - 2 处注入于
updateTick - BlockSaplingMixin - 1 处注入于
updateTick - BlockStemMixin - 3 处注入于
updateTick - GuiScreenMixin - 1 处注入于
drawHoveringText - ItemRendererMixin - 1 处注入于
renderItemInFirstPerson - GuiDrawMixin - 1 处注入于新版
drawTooltipBox(IIIIIIII)V - GuiDrawMixinLegacy - 1 处注入于旧版
drawTooltipBox(IIII)V
外部 mod Mixin 列表
- BlockPamFruitMixin - 条件 Mixin:HarvestCraft
BlockPamFruit - BlockPamSaplingMixin - 条件 Mixin:HarvestCraft
BlockPamSapling - BerryBushMixin - 条件 Mixin:Natura
BerryBush - NetherBerryBushMixin - 条件 Mixin:Natura
NetherBerryBush - CropBlockMixin - 条件 Mixin:Natura
CropBlock,已实现但未注册 - GlowshroomMixin - 条件 Mixin:Natura
Glowshroom,已实现但未注册
依赖关系
本 mod 不硬依赖任何其它 mod,但作为被依赖方被多方使用(README 列出 Hunger Overhaul、
The Spice of Life、Hunger In Peace)。这些依赖方 mod 均不在本 wiki 收录范围(relation.md 无对应行)。