GuideNH
GTNH 的游戏内指南框架。把资源包里的 Markdown 文档渲染成可交互的「游戏内手册」, 是 GuideME 的移植与扩展。
它不注册任何方块、物品或实体——整个 mod 是一套纯渲染 / 文档引擎, 没有可供「合成配方」或「掉落列表」描述的游戏内容。
| 项目 | 值 |
|---|---|
| modid | guidenh(gradle.properties 的 modId) |
| 显示名 | GuideNH |
| 源仓库 | /Users/evlos/a/mirror/GuideNH/ |
| 源 commit | b5369fa(2026-09-27 01:20:42 +0800) |
| Minecraft | 1.7.10(minecraftVersion,@Mod 里另有 acceptedMinecraftVersions = "[1.7.10]") |
| Forge | 10.13.4.1614(forgeVersion) |
| Java 包根 | com.hfstudio.guidenh(modGroup) |
| 必需依赖 | required-after:gtnhlib(@Mod(dependencies) 唯一一条) |
| 作者 | HFstudio(@Mod 源码常量 AUTHOR) |
| 加载方式 | 同时是 coremod + mixin mod(gradle.properties:128 coreModClass = coremod.GuideNHCoreMod、:107 usesMixins = true) |
| 主源文件数 | 1402 个 .java(src/main/java,无 kotlin / scala / groovy) |
语言构成
find src/main/java -name '*.java' | wc -l 实测 1402;
find src -name '*.java' | wc -l 为 1414,差额 12 是 src/test/java 下的
测试文件,不属于主源。
主源分属 3 个包根,不是 1 个:
| 包根 | 文件数 |
|---|---|
com/hfstudio/guidenh/ |
1353 |
com/hfstudio/structurelibexport/ |
33 |
guideme/flatbuffers/scene/ |
16 |
⚠️ com/hfstudio/structurelibexport 与 com/hfstudio.guidenh 平级,
不在 guidenh 包下;guideme 更是第三套根包(flatbuffers 生成的场景结构代码)。
本 mod 的 modGroup 只覆盖 com.hfstudio.guidenh,另外两个根是构建期分包的产物。
全仓库另有 .json 27 个、.properties 3 个(均在 gradle 与 web-editor/),
src/main/resources 下 .cfg 1 个(guidenh_at.cfg,access transformer)。
没有 kotlin、scala 或 groovy 源文件,@Mod 写在 com/hfstudio/guidenh/GuideNH.java:20。
猜测裁定
本条目收到的猜测是「GuideNH 是『指引 / 任务 mod』」。
裁定:不准确。 GuideNH 与任务 / 指引系统无关:
$ grep -rn "GameRegistry.registerBlock|GameRegistry.registerItem" src/main/java
(无输出)
$ grep -rn "registerQuest|Quest|quest" --include=*.java src/main/java/com/hfstudio/guidenh
(仅命中 BetterQuesting 兼容层的 3 个 mixin,无任何任务定义)
grep -rn 'registerBlock\|registerItem' 的 18 处命中全部是误报——
其中 16 处是 GuideNH 自己 integration API 的方法名
(registerBlockDisplayProvider、registerBlockStatsProvider、
registerBlockExportIdProvider、registerItemStackNormalizationProvider 等,
定义在 integration/api/GuideNhIntegrationRegistry.java:101-742),
另 2 处是 guide/internal/syntax/BuiltinSyntaxContributor.java:975,991 的
私有辅助方法 registerBlockLayoutAttributes。
与 GameRegistry 无关。
准确描述是:游戏内文档渲染框架,消费资源包里的 Markdown, 渲染成带 3D 场景预览、物品链接、配方查询、图表、LaTeX 的可交互手册。 唯一与「任务」沾边的是它对 BetterQuesting 的只读显示兼容(见 模组兼容)。
键位(6)
| 键位 | 默认键 | 配置 ID | 作用 |
|---|---|---|---|
| 打开指南 | G |
key.guidenh.open_guide |
打开当前指南 |
| 打开首页 | G |
key.guidenh.open_guide_home |
打开指南首页 |
| 上一页 | Backspace |
key.guidenh.guide_page_back |
页面后退 |
| 下一页 | Enter |
key.guidenh.guide_page_forward |
页面前进 |
| 打开场景编辑器 | 未绑定 | key.guidenh.open_scene_editor |
编辑 3D 场景 |
| 切换区域导出魔棒模式 | 未绑定 | key.guidenh.cycle_region_wand_mode |
切换区域导出模式 |
⚠️ 「打开指南」与「打开首页」默认都是 G,需要玩家自行改键才能区分。
详见 键位。
指令(3)
| 指令 | 端 | 条目 |
|---|---|---|
/guide list|open|reload |
服务端 | guide 指令 |
/guidenh importstructure|placeallstructures |
服务端 | guidenh 指令 |
/exportStructure structureLib|gameScene |
客户端 | 指令 |
游戏设定
| 条目 | 内容 |
|---|---|
| ModConfig - 4 段共 78 项配置 | |
网络协议 - 通道 guidenh、3 条封包、运行时桥接 |
|
| 指南框架 - 文档模型 → 编译器 → 场景图 → 渲染的完整链路 | |
| MDX 标签 - 119 个内置运行时标签 | |
| 模组兼容 - 22 个宿主 mod 的显示与数据集成 | |
| Coremod 与 Mixin - ASM transformer 与 23 个已注册 mixin 类 | |
| 结构导出 - StructureLib / 场景导出链路 |
源码结构
1402 个主源 .java 的分布(com/hfstudio/guidenh/ 1353,
com/hfstudio/structurelibexport/ 33,guideme/flatbuffers/scene/ 16):
| 包 | 文件数 | 职责 |
|---|---|---|
guide/internal |
374 | 内部实现:场景、渲染、编辑器、调度器、启动流程 |
guide/scene |
140 | 3D 场景图(方块、实体、标注、相机) |
guide/document |
136 | 文档模型(页面、章节、导航、锚点) |
guide/compiler |
87 | Markdown → 文档模型 的编译管线 |
guide/mediawiki |
61 | MediaWiki 导出 |
guide/siteexport |
53 | 站点导出 |
guide/syntax |
18 | 语法高亮与 MDX 标签注册 |
guide/editor |
11 | 指南编辑器 |
guide/indices |
8 | 物品索引导航与搜索 |
guide/layout |
10 | 布局引擎 |
guide/color / guide/render / guide/style |
各 6 | 颜色 / 渲染 / 样式主题 |
guide/sound |
4 | 声音标签 |
guide/extensions |
3 | 扩展点 |
guide/latex / guide/navigation |
各 2 | LaTeX 渲染 / 导航 |
guide/ui |
1 | UI 壳 |
guide(根 9 个) |
9 | Guide / GuideBuilder / GuidePage / PageCollection 等门面类 |
client |
9 | ClientProxy 与 5 个 hotkey 类 |
bridge |
48 | 运行时桥接(protocol / transport / security / semantic / preview) |
integration |
150 | 宿主 mod 集成(Mods.java 列 22 个) |
libs |
160 | 内置的 mdast / mdx / micromark / unist 实现 |
network |
16 | 封包与处理器 |
mixins |
26 | 23 个已注册 mixin 类 + MixinGuiTextEditor(未注册)+ 2 个加载器 |
config |
3 | ModConfig / GuideNHGuiConfig / GuideNHGuiFactory |
coremod |
1 | GuideNHCoreMod |
com/hfstudio/structurelibexport |
33 | StructureLib 导出(平级包根) |
guideme/flatbuffers/scene |
16 | flatbuffers 生成的场景结构代码 |
| 根目录 | 3 | GuideNH / ClientProxy / CommonProxy |
⚠️ guide/ 子树合计 937 个文件(com/hfstudio/guidenh/guide/),
libs 不是 guide/libs——它是 com/hfstudio/guidenh/libs,与 guide 平级。
libs 下 4 个包(mdast 65 / micromark 82 / mdx 7 / unist 6)是把
JavaScript 生态的 unified/remark/micromark AST 概念移植到 Java 的实现,
这是本 mod 架构上最不寻常的一点。
本 mod 没有的内容
以下均经源码检索确认完全没有,因此不建目录、不建条目:
| 类别 | 依据 |
|---|---|
| 方块 | grep -rn 'GameRegistry.registerBlock|new Block(' src/main/java 无输出;18 处 registerBlock* 命中全是 integration API 方法名与 1 个语法辅助方法 |
| 物品 | grep -rn 'GameRegistry.registerItem|new Item(' src/main/java 无输出 |
| 实体 | grep -rn 'EntityRegistry|registerModEntity' src/main/java 无输出 |
| TileEntity | grep -rn 'registerTileEntity' src/main/java 无输出 |
| 附魔 / 药水 / 成就 | 无 Enchantment / PotionEffect / Achievement 注册 |
| 合成配方 | 无 GameRegistry.addRecipe |
| 新维度 | 无 registerDimension |
| 世界生成 | 无 IWorldGenerator / registerWorldGenerator |
| 任务系统 | 无任务定义,仅有对 BetterQuesting 的只读显示兼容 |
依赖范围
| 依赖 | 状态 |
|---|---|
gtnhlib |
不在 relation.md 收录范围。它是 @Mod(dependencies) 里唯一一条必需依赖,但不建分类页 |
UniMixins |
usesMixins = true,由 GTNH 构建插件自动引入;不在收录范围 |
structurelib |
StructureLib 导出功能的宿主 mod,已在 relation.md 收录(✓ 完成),有独立分类页 → structurelib |
22 个集成目标 mod(AE2、GregTech、BartWorks、BuildCraft Transport、Railcraft、
LogisticsPipes、Tinkers’ Construct 等)多数不在收录范围,
故只在 模组兼容 里点名,不建分类页。
已收录的集成目标有 structurelib、gregtech、logisticspipes、railcraft
与 betterquesting(后者尚未撰写,属前向引用)。
⚠️ NotEnoughItems(NEI)虽是集成目标之一,也是注册 provider 最多的宿主
(8 个配方相关 provider),但 relation.md 中没有 NotEnoughItems 行——
NEI Recipe Panels(nei-recipe-panels,modid neirecipepanels)是另一个 mod。
故 NEI 不建分类、不做跨分类链接,仅在集成条目里点名。
相关条目
- betterquesting - 集成目标之一,仅只读显示兼容(尚未撰写)
- structurelib - 结构导出的目标格式宿主 mod
- gregtech - 集成目标,注册 oreDict 统一与机器预览 provider
- logisticspipes - 集成目标,注册
BlockDisplayProvider - railcraft - 集成目标,注册预览
PreviewPrepareContributor