EnderCore
[!INFO] Git Commit:
1998218| Updated: 2026-10-02
EnderCore 是 Minecraft 1.7.10 / Forge 10.13.4.1614 的库模组(library mod)——mcmod.info 自述为 “Library mod used by EnderIO, EnderZoo, and others”。
| 属性 | 值 |
|---|---|
| modid | endercore(全小写,与分类名一致) |
| 名称 | EnderCore |
| 包名 | com.enderio.core |
| 依赖 | after:ttCore; after:gtnhlib@[0.0.10,)(均为软依赖) |
| 语言 | 源码 169 个 .java(无 Scala / Kotlin) |
| 源码目录 | /Users/evlos/a/mirror/EnderCore/ |
⚠️
mcmod.info整份是构建期占位符(${modId}/${modName}/${modVersion}),不可用于判断 modid。实测 modid 来自@Mod(modid = EnderCore.MODID),常量值"endercore"(com/enderio/core/EnderCore.java:49,57),与gradle.properties:10的modId = endercore一致。
⚠️ 与 enderio 的关系(关键澄清)
endercore 与 enderio 是两个独立 mod,本 wiki 中是两个独立分类:
- endercore = 本分类,纯库,仅 2 个附魔 + 工具类 + 7 个原版 tweaks
- enderio = 内容模组,注册名完全不同
本 mod 不注册任何方块、物品或实体,也不含任何多方块结构(全仓库 Multiblock 匹配数为 0)。
实际注册规模(源码实测)
| 维度 | 实际数量 | 本 wiki 覆盖 |
|---|---|---|
| 方块 | 0 | — |
| 物品 | 0 | — |
| 实体 | 0 | — |
| TileEntity | 0 | — |
| 附魔 | 2 | 2 |
| 指令 | 2 个类 / 3 个指令名(/reloadServerConfigs、客户端 /reloadConfigs、/scoreboardinfo) |
2 |
| 原版 tweaks | 7(3 游戏内 + 4 非游戏内) | 1 |
| API 接口/工具类 | 20 个 api + 96 common | 1 |
⚠️ 「registerBlock 有 10 处」是陷阱
朴素 grep registerBlock 会得到 10 处命中,看起来像有 10 个方块。实际全部是反射工具的声明,不是真实注册:
| 命中位置 | 性质 |
|---|---|
common/util/EnderRegistryUtils.java:30,38,39,69,83,103 |
反射封装——用 GameData.class.getDeclaredMethod("registerBlock", ...) 反射调用,供其它 Ender 系 mod 使用 |
common/BlockEnder.java:51 |
基类的 init() 保护方法,本仓库内无任何子类调用 |
grep 'extends BlockEnder\|extends ItemEnder' 在本仓库返回 0 个文件——BlockEnder / ItemEnder 是纯粹给下游 mod 用的 API 基类,EnderCore 自己一个都不继承。
同理 registerItem 的 6 处命中全部在 EnderRegistryUtils.java 的反射封装里(:29,36,37,53,55,105),零真实调用。
附魔列表(本 mod 唯一的实际内容)
两个附魔都在 EnderCore.preInit 末尾注册(EnderCore.java:111-112),都是 IAdvancedEnchant 实现,EnumEnchantmentType.breakable 但排除护甲:
- Enchantment: XP Boost - ID 45,最高 3 级,倍率
log10(level+1) × 2(1/2 级实际是减经验) - Enchantment: Auto Smelt - ID 46,最高 1 级,矿石自动熔炼
两者均不注册合成配方——通过 IMC 把配方交给 EnderIO 的 Enchanter 机器。没装 EnderIO 就无法获得。
配置与 tweaks
- Config Handler - 12 个配置项(3 个附魔相关 + 3 个行为修正 + 6 个界面)
指令
本 mod 注册 2 条指令(Census 的 registerBlock|registerItem|registerModEntity|registerTileEntity 统计完全不含 registerCommand/registerServerCommand,故未计入):
- /reloadServerConfigs - 服务端重载指定 mod 的配置;客户端另有免权限的
/reloadConfigs - /scoreboardinfo - 查询记分板上任意玩家的分数,权限等级 0
7 个原版 tweaks(com/enderio/core/common/tweaks/Tweaks.java):
| 类别 | 数量 | 内容 |
|---|---|---|
| 游戏内 | 3 | 床脚步声改羊毛、船堆叠 16、镐可挖冰块 |
| 非游戏内 | 4 | 楼梯→石板配方、InfiniBow、书→2 纸、3 甘蔗→3 纸 |
对下游 mod 提供的主要 API
| API | 用途 |
|---|---|
BlockEnder / ItemEnder |
方块/物品基类(自动注册 TileEntity、比较器输出、延展方向、掉落物) |
TileEntityEnder |
Tile 基类 |
EnderRegistryUtils |
反射注册方块/物品/流体 |
IAdvancedEnchant |
增强附魔接口 |
IEnderMod |
Ender 系 mod 的公共初始化契约 |
IFluidReceptor / IItemReceptor / ITankAccess |
流体/物品接收端 |
ConfigHandler / ConfigProcessor |
配置读写框架 |
IProgressTile |
进度条机器接口 |
依赖范围
| 依赖 | relation.md 状态 | 处理 |
|---|---|---|
| EnderIO | 已登记(enderio),✓ 完成 |
交叉引用 ../../enderio |
| EnderZoo | relation.md 无此行 → 不在收录范围 | 明确写出,未建分类 |
| gtnhlib | relation.md 无此行 → 不在收录范围 | 明确写出,未建分类 |
| ttCore | 不在收录范围 | 装它会触发主动报错(见下) |
注意:
ttCore是软依赖但装了会报错——preInit检测到ttCore已加载时调用proxy.throwModCompatibilityError(...)抛出 3 条本地化错误(EnderCore.java:74-80),即主动拒绝共存。
源码缺陷汇总
| # | 缺陷 | 位置 |
|---|---|---|
| 1 | naive grep registerBlock 得 10、registerItem 得 6,全是反射封装与基类方法,实际 0 注册 |
EnderRegistryUtils.java、BlockEnder.java:51 |
| 2 | XP Boost 名为「加成」,但等级 1/2 的倍率是 0.6 / 0.95,实际减少经验 | XPBoostHandler.java:108-110 |
| 3 | mcmod.info 全为 ${} 占位符,无法判断 modid |
src/main/resources/mcmod.info |
| 4 | ConfigHandler 中 4 个 test1-test4 字段整段被注释 |
ConfigHandler.java:104-110 |
| 5 | Tweaks.tweaks 列表注释自称「As of yet unused」 |
Tweaks.java:15-20 |