ChromaticTooltips
基本信息
| 属性 | 值 |
|---|---|
| 类名 | com.slprime.chromatictooltips.ChromaticTooltips |
| 文件 | src/main/java/com/slprime/chromatictooltips/ChromaticTooltips.java |
| modid | chromatictooltips |
| 启用版本 | Minecraft 1.7.10 |
@Mod 声明
@Mod(
modid = ChromaticTooltips.MODID,
version = Tags.VERSION,
name = ChromaticTooltips.NAME,
dependencies = "required-after:gtnhlib@` `[0.9.6,);",
acceptedMinecraftVersions = "[1.7.10]")
public class ChromaticTooltips {
| 字段 | 值 | 备注 |
|---|---|---|
modid |
ChromaticTooltips.MODID → "chromatictooltips" |
非常量引用,但同文件内有字面量定义 |
name |
ChromaticTooltips.NAME → "ChromaticTooltips" |
驼峰,与 modid 不同 |
version |
Tags.VERSION |
⚠️ 构建期生成,见下 |
dependencies |
required-after:gtnhlib@ + [0.9.6,) |
硬依赖 + 版本区间 |
acceptedMinecraftVersions |
[1.7.10] |
显式限定,仅 1.7.10 |
⚠️ modid 正确,但 version 指向一个不在仓库里的类
同文件内定义了三个常量:
public static final String MODID = "chromatictooltips";
public static final String NAME = "ChromaticTooltips";
public static final Logger LOG = LogManager.getLogger(MODID);
⚠️ 但 Tags 类在整个仓库中不存在 ——
grep 'class Tags|interface Tags' 命中 0,
find -name 'Tags.java' 命中 0。
它由 GTNH MDK 在构建期生成,gradle.properties:77 声明:
generateGradleTokenClass = com.slprime.chromatictooltips.Tags
即 Tags 是 Gradle token 替换产物,源码树里编译不过(缺类)。
这是构建期占位符,不是可直接引用的源码类。
⚠️ 与 UniMixins 的 Tags.MODID = "GRADLETOKEN_MODID"
同类,但本 mod 的 modid 另有字面量常量可查,只有 version 受影响。
依赖:gtnhlib@ [0.9.6,)
| 项 | 值 |
|---|---|
| modid | gtnhlib |
| 约束 | required-after + 版本区间 [0.9.6,) |
| 收录状态 | 已登记为 GTNHLib,尚未成文 |
⚠️ 这是硬依赖(required-after):缺 GTNHLib 或版本 < 0.9.6 直接启动失败。
[0.9.6,) 是左闭右开区间,下界含 0.9.6。
⚠️ 尾部那个分号 ; 在 dependencies 串里是多余的
("required-after:gtnhlib@ [0.9.6,);"),FML 会忽略空条目。
按字面数会以为有第二个依赖。
生命周期(4 个 @Mod.EventHandler,全转发给 proxy)
| 阶段 | 方法 |
|---|---|
preInit |
proxy.preInit(event) |
init |
proxy.init(event) |
postInit |
proxy.postInit(event) |
serverStarting |
proxy.serverStarting(event) |
⚠️ 主类不含任何逻辑,全部委托 ClientProxy / CommonProxy。
⚠️ 方法上留有 MDK 模板注释,如
// preInit "Run before anything else. Read your config, create blocks, items, etc, and register them with the GameRegistry." (Remove if not needed)
—— 脚手架残留,未清理。
@SidedProxy
@SidedProxy(
clientSide = "com.slprime.chromatictooltips.ClientProxy",
serverSide = "com.slprime.chromatictooltips.CommonProxy")
public static CommonProxy proxy;
⚠️ 字段类型是 CommonProxy(基类),客户端实际是
ClientProxy(子类)。
注册内容
0 方块 / 物品 / TileEntity / 实体 / 维度。 本 mod 是纯客户端 tooltip 渲染增强,唯一「注册」的是 2 个快捷键、12 个 enricher 实例、3 个行转换器。
关联
- ClientProxy - 全部实际注册逻辑
- CommonProxy - 服务端侧空实现
- TooltipRegistry - enricher / 转换器注册中心
- TooltipHandler - 渲染入口
- TooltipRenderer - 渲染器
- mixin 配置 - 3 个配置,
required: true - GTNHLib - 硬依赖
required-after:gtnhlib@+[0.9.6,)(已登记未成文) - ChromaticTooltipsCompat - 独立的兼容补丁分类(60 个 mixin)