GTNHExtLib
[!INFO] Git Commit:
6d96aef| Updated: 2026-09-26
modid:gtnhextlib(来自 GTNHExtLib.java:13 public static final String MODID = "gtnhextlib";)
显示名: GTNHExtLib
mcmod.info 描述: Third party NHLib dependencies
纯依赖库 / core mod。@Mod 类(GTNHExtLib.java:11-15)只有两个常量,没有任何逻辑;
实际工作全在 core mod core.GTNHExtLibCore(gradle.properties 的 coreModClass = core.GTNHExtLibCore)
与 RetroFuturaBootstrap 插件 core.rfb.GTNHExtLibRfbPlugin 中。
本 mod 不提供任何方块、物品、实体、指令、附魔、群系或维度,
也不引用 net.minecraft.block / net.minecraft.item / net.minecraft.entity 任何包。
其可观测行为全部发生在 core mod 类加载期(在 Minecraft 启动之前),对游戏内玩法零影响。
游戏设定 / 机制列表
- 类加载器例外与 DeLoader 引导 — 静态块改写
classLoaderExceptions并启动 FalsePatternLib DeLoader - 自身去重(多 jar 选一) — 多份 GTNHExtLib jar 同时存在时的胜出与抑制规则
- jvmdg stub 镜像到系统类加载器 — 把 jvmdowngrader stub 额外挂到系统类加载器
运行期下载的依赖
由 DeLoader 在启动时按 Java 版本选择清单下载(src/main/resources/META-INF/):
| 库 | 版本 | 许可(dependencies.gradle 注释) |
|---|---|---|
it.unimi.dsi:fastutil |
8.5.18 | Apache 2.0 |
org.joml:joml |
1.10.8 | MIT |
com.mojang:brigadier |
1.0.18 | MIT |
xyz.wagyourtail.jvmdowngrader:jvmdowngrader-java-api |
2.0.1(downgraded-8 / downgraded-17) |
LGPL 2.1 |
com.falsepattern:falsepatternlib deploader_stub |
1.11.0 | LGPL 3.0(shadow 打包) |
已知源码问题
gtnhextlib_deps.json之外的版本清单不带$DEPS之外的内容:gtnhextlib_deps8.json/gtnhextlib_deps17.json只声明maxJava: 16/minJava: 17,其repositories指向maven.wagyourtail.xyz; 若该仓库不可达则 Java 8/17 环境下依赖解析失败,且失败点在 core mod 早期,玩家侧难以定位。- 去重排序对同名同版本不稳定:版本与 fat 判定都相同时退化为文件名字典序
(
core/GTNHExtLibCore.java:189),结果依赖 OS 文件枚举,不保证跨机器一致。