IAppleCoreRegistry

基本信息

属性 值
类名 squeek.applecore.api.IAppleCoreRegistry
类型 interface,3 个方法
实现 AppleCoreRegistryImpl(枚举单例)
启用版本 Minecraft 1.7.10

功能

维护「可吃方块 ↔ 对应物品」的双向映射表。之所以需要这张表,是因为原版 Block.getBlockFromItem / Item.getItemFromBlock 是按方块物品元数据反推的, 对 Blocks.cake ↔ Items.cake 这类并非元数据派生的配对会返回 null。

方法 说明
registerEdibleBlock(Block, Item) 手工登记一对映射
getItemFromEdibleBlock(Block) 查表;无记录时回退 Item.getItemFromBlock
getEdibleBlockFromItem(Item) 查表;无记录时回退 Block.getBlockFromItem

实现要点

  • Javadoc 明确给出示例:Blocks.cake <-> Items.cake 的关系必须手工登记, 否则查询失败。
  • 两个查询方法都有回退逻辑,因此对普通方块物品无需登记; 登记只对 getBlockFromItem 行为异常的配对是必需的。
  • BlockCakeMixin 是内置的唯一查询调用点。

相关条目