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 是内置的唯一查询调用点。
相关条目