CodeChickenCore

[!INFO] Git Commit: a9643db | Updated: 2026-10-02

CodeChickenCore 是 ChickenBones / GTNH 团队的 coremod 基础库,为整个 CodeChicken 系列(ForgeMultipart、EnderStorage、ChickenChunks、Translocator 等)提供公共底座。mcmod.info 对它的描述是 Base common code for all chickenbones mods(src/main/resources/mcmod.info:6),作者署名 ChickenBones、GTNH Team。

modid 与命名

本分类名 codechickencore 与实际 modId 不一致,必须注意。 modId 从两处源码独立读出且一致:

  • gradle.properties:10 → modId = CodeChickenCore(首字母大写,连续三个大写 C)
  • CodeChickenCoreModContainer.java:34 → modMetadata.modId = "CodeChickenCore"

由此派生出一组互不相同的字符串,引用时务必区分:

用途 取值 出处
modId CodeChickenCore gradle.properties:10、CodeChickenCoreModContainer.java:34
资源域(assets) codechickencore(全小写) src/main/resources/assets/codechickencore/(目录枚举核实)
语言键前缀 codechickencore. LocalizedColours.java:7 KEY_PREFIX;en_US.lang 全部键
ASM 资源路径 /assets/codechickencore/asm/tweaks.asm TweakTransformer.java:30
根包名 codechicken gradle.properties:14 modGroup
分类目录 codechickencore 本 wiki

加载形态:没有 @Mod 的模组

grep -rn '@Mod' --include='*.java' src/ 命中 0 处。本 jar 不包含任何 @Mod 注解类。

这与 gradle.properties:129 containsMixinsAndOrCoreModOnly = true 一致。它通过 gradle.properties:125 coreModClass = core.launch.CodeChickenCorePlugin(配合 modGroup = codechicken 拼成 codechicken.core.launch.CodeChickenCorePlugin)以 coremod 身份加载,再由 getModContainerClass() 返回的 CodeChickenCoreModContainer(一个 DummyModContainer 子类)把自己伪装成普通模组,好让它出现在 Forge 模组列表与事件总线上。

gradle.properties:104 usesMixins = false 且 src/main/resources 下无任何 mixins.*.json,因此本模组没有 Mixin——它的字节码改写全部走 ASM。

注册内容:0

项目 数量 证据
方块 0 grep -rn 'GameRegistry\.|registerBlock|registerItem|registerTileEntity|EntityRegistry' --include='*.java' src/main/java/ → 0 行
物品 0 同上
实体 0 同上
TileEntity 0 同上
事件订阅类 5 grep -rln '@SubscribeEvent' --include='*.java' src/
语言键(en_US) 25 其中 24 个为 codechickencore.color.*,1 个为 codechickencore.update
语言文件 5 de_DE、en_US、it_IT、ru_RU、uk_UA;除 en_US(25 键)外其余各 1 键

源码规模:178 个 .java 文件,0 个 .scala,0 个 .kt——纯 Java。公开类型 176 个。

版本与环境

项目 值 证据
Minecraft 1.7.10 gradle.properties:24 minecraftVersion = 1.7.10
Forge 10.13.4.1614 gradle.properties:27 forgeVersion = 10.13.4.1614
构建系统 RetroFuturaGradle settings.gradle:2 注释 // RetroFuturaGradle + com.gtnewhorizons.gtnhsettingsconvention

版本门在源码中有三处互相独立的声明:

  1. gradle.properties:24 minecraftVersion = 1.7.10(gradle 侧)
  2. CodeChickenCorePlugin.java:34 @IFMLLoadingPlugin.MCVersion("1.7.10")(coremod 侧)
  3. CodeChickenCoreModContainer.java:76-78 acceptableMinecraftVersionRange() 返回 VersionParser.parseRange(CodeChickenCorePlugin.mcVersion),而 mcVersion = "[1.7.10]"(CodeChickenCorePlugin.java:39)(FML 容器侧)

依赖

Gradle 侧无任何 Minecraft 侧依赖。 dependencies.gradle 中只有 JUnit 5 测试依赖(junit-bom:5.14.1、junit-jupiter、junit-platform-launcher),全部为 testImplementation / testRuntimeOnly。在所有 .gradle 文件中 grep implementation|compileOnly|runtimeOnly 只命中这一处。

运行时的依赖约束来自 CodeChickenCoreModContainer.getDependants() 的 6 条硬编码版本引用(详见 CodeChickenCoreModContainer),与 Gradle 声明是两回事。

外部模组对它的依赖是真实存在的:ForgeMultipart 在自己的 dependencies.gradle:4 声明 implementation("com.github.GTNewHorizons:CodeChickenCore:1.4.19:dev")。

本仓范围说明

本镜像为 depth-1 浅克隆(git rev-list --count HEAD = 1,.git/shallow 存在),历史上仅有一个轻量 tag 1.4.22,且指向当前 HEAD。

因此未采用 git describe 作为版本依据(浅克隆 + 轻量 tag 的组合无法反映真实历史)。本分类引用 commit a9643db(a9643dba1cfa0ab8f19c299096f79e377d672d7d,已用 git cat-file -t 核实为 commit),其提交信息为 Add initial Ukrainian (uk_UA) localization for CodeChickenCore (#55),日期 2026-09-19。

树中不存在其他 Minecraft 版本的分支或内容,无跨版本内容混入本分类。

coremod 列表

API 列表

本模组的价值主要在此。全部为 codechicken.lib.* / codechicken.core.* 下的库代码。

设置列表

处理器列表

  • 功能 hack - 虚拟实体钩子、反射改写物品注册表、液体贴图替换
  • 客户端运行时与事件 - CCCEventHandler、模组列表增强、本地化颜色重载;并记录了 CCUpdateChecker 为空壳这一事实

兼容性列表

  • CodeChicken 生态契约 - 对外 API 清单、ClassDiscoverer 发现机制,以及 ForgeMultipart 的实际 import 频次实证