GTNHLib

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

GTNHLib(显示名 GTNH Lib)是 GTNH 模组组的核心工具库,不是玩法模组。玩家在游戏里几乎看不到它 —— 它不提供方块、物品或合成配方,普通安装下注册 0 个方块、0 个物品(唯有的 7 个测试方块与 1 个测试物品由 enableTestBlocks / enableTestItems 两个默认 false 的开发用配置项把守,见 CommonProxy.java:72-84)。它的价值是其他模组编程所依赖的 API 表面:配置系统、事件总线、Mixin 引导、指令解析、网络通道、方块状态与队伍系统。

modid 为 gtnhlib,与分类名一致。三处独立来源相互印证:GTNHLib.java:23 的 public static final String MODID = "gtnhlib";@Mod(modid = GTNHLib.MODID, ...)(GTNHLib.java:15-20);以及 gradle.properties 的 modId = gtnhlib。全 jar 仅 1 个 @Mod 注解类(grep -rn '^@Mod' --include='*.java' src/ 只命中 GTNHLib.java:15),另有一个非 @Mod 的 coremod 入口 core.GTNHLibCore(implements IFMLLoadingPlugin),两者职责分离:coremod 负责类加载期工作,@Mod 类负责游戏生命周期。

目标环境为 Minecraft 1.7.10 + Forge 10.13.4.1614。构建系统是 RetroFuturaGradle(dependencies.gradle 中使用 rfg.deobf(...)),因此版本判定取自 gradle.properties 的 minecraftVersion = 1.7.10,并与 mcmod.info 的 "mcversion": "${minecraftVersion}" 占位符、@Mod(acceptedMinecraftVersions = "[1.7.10]")、@IFMLLoadingPlugin.MCVersion("1.7.10") 四处一致。

运行期硬依赖仅 1 个:com.github.GTNewHorizons:GTNHExtLib:1.0.4(dependencies.gradle 中唯一的 api(...) 声明,以 shadow 方式打入)。另有 3 个由 FalsePatternLib DepLoader 在运行时下载的库,见 META-INF/gtnhlib_deps.json:it.unimi.dsi:fastutil:8.5.18、org.joml:joml:1.10.8、com.mojang:brigadier:1.0.18 —— brigadier 在这里是 1.7.10 上的真实运行期依赖,不是 1.21 内容。此外启动时校验 UniMixins ≥ 0.1.23,不满足直接抛 RuntimeException 拒绝启动。

API 列表

配置系统列表

  • 配置系统 API - @Config 注解体系:5 个类级成员、28 个字段注解,自动生成配置 GUI
  • GTNHLib 主配置 - 27 个运行时开关,coremod 构造期注册,5 项需重启
  • 数字格式化配置 - 独立 cfg,控制记法、mB/L 与 17 种区域设置
  • 示例配置 - 供下游 mod 抄写的完整演示,仅开发环境注册

Mixin 列表

  • Mixin 枚举 - 27 个注入组、54 个 mixin 的条件与阶段全表
  • Mixin 引导流程 - 4 个 JSON 数组全空、真实清单在枚举与 plugin 中

事件列表

指令列表

网络列表

兼容层列表

工具类列表

集成列表