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 但排除护甲:

两者均不注册合成配方——通过 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