MrTJPCoreMod(主 mod 类)
基本信息
| 属性 | 值 |
|---|---|
| 路径 | mrtjp.core.handler.MrTJPCoreMod |
| 类型 | Scala object(@Mod 主类) |
| 源码 | src/main/scala/mrtjp/core/handler/mod.scala:18 |
| modid | MrTJPCoreMod |
| 显示名 | MrTJPCore |
| 语言 | modLanguage = "scala" |
| useMetadata | true |
| 接受版本 | acceptedMinecraftVersions = "[1.7.10]" |
| 依赖 | required-after:CodeChickenCore@[1.4.3,) |
| GUI 工厂 | mrtjp.core.handler.GuiConfigFactory |
关键结论
MrTJPCore 是一个真 mod(有 @Mod 注解,FML 会加载它),但没有任何自有方块 / 物品。
mcmod.info 自述为「Core libs and utilities」,README 自述「a basic library used by all of my mods」。
它提供的是供其它 mod 继承 / 调用的 Scala 基类与工具库。
陷阱提示
@Mod 注解写在 .scala 文件里。若只用 --include=*.java 搜索 @Mod,会得到
0 命中并误判为「不是 mod」。本 mod 是全 wiki 唯一以 Scala 为主语言的 mod。
modid 差异
| 项 | 值 |
|---|---|
| modid | MrTJPCoreMod(带 Mod 后缀) |
| 资源域 | mrtjpcore(assets/mrtjpcore/textures/gui/,无 Mod 后缀) |
| 配置文件名 | MrTJPCore.cfg(MrTJPConfig.getFileName,与 modid 也不同) |
| 日志 logger | MrTJPCoreMod |
三处命名互不相同,属源码实测。
生命周期
| 阶段 | 动作 |
|---|---|
| preInit | MrTJPConfig.loadConfig() → MrTJPCoreProxy.preInit() |
| init | MrTJPCoreProxy.init() |
| postInit | MrTJPCoreProxy.postInit() |
缺陷
version = MrTJPCoreMod.version 引用同 object 内的 final val version = "GRADLETOKEN_VERSION"(第 29 行)——
这是构建期占位符,源码中读不到真实版本号。