GTNH-Web-Map-Client
[!INFO] Git Commit:
3610e64| Updated: 2026-10-01(首次源码通读)
GTNH-Web-Map-Client(modid gwmclient)是 Minecraft 1.7.10 的
纯客户端 mod:在游戏内用 ModularUI2 渲染由另一个模组
GTNH-Web-Map(服务端)通过 HTTP 提供的世界地图。
[!CAUTION] 仓库
README.md原文:“Not currently in a usable state.” 本 mod 由仓库作者自述为尚不可用状态,本页如实记录源码现状。
内容统计:0 方块、0 物品、0 实体、0 配方、0 自有资源。 全部产出是一个全屏地图界面、1 条客户端命令、1 个配置项与 2 个 HTTP 端点。
命名与注册约定(审计要点)
- modid =
gwmclient(GwmClientMod.java:24public static final String MODID = "gwmclient")。 ⚠️ modid 与仓库名、mod 显示名三者全不一致: 仓库目录GTNH-Web-Map-Client、类内NAME = "GTNH-Web-Map-Client"、 而 modid 是gwmclient(GTNH-Web-Map 的缩写)。 按仓库名或显示名推 modid 一定错。 - ⚠️
src/main/resources/mcmod.info同样写的是构建期占位符"modid": "${modId}",直接读 mcmod.info 读不到真实 modid。 acceptedMinecraftVersions = "[1.7.10]"(GwmClientMod.java:21)。- ⚠️ 声明式依赖为空:
@Mod注解没有dependencies字段, 而代码直接 importcom.cleanroommc.modularui.*。 ⇒ 缺 ModularUI 时会直接NoClassDefFoundError,FML 不会给出友好提示。
功能条目
- 游戏内地图界面(按 M 打开) - ModularUI2 全屏地图,滚轮缩放、拖动平移、Home/End 切图,10 级瓦片
- /gwmc - 客户端命令,下发地图服务器地址;权限等级 0
- 远端地址配置(remote.baseUrl) - 唯一的配置项,默认
http://127.0.0.1:8123 - 远端 HTTP 协议 - 客户端消费的服务端接口:
/up/configuration与/tiles/...,含坐标换算与重试策略
依赖
| 依赖 | Gradle 配置 | 是否随 mod 发布 | 用途 |
|---|---|---|---|
com.github.cliftonlabs:json-simple:4.0.1 |
shadowImplementation |
是(打进 jar) | 解析 /up/configuration |
com.github.GTNewHorizons:ModularUI2:2.2.6-1.7.10 |
implementation |
是 | 地图界面 |
com.github.GTNewHorizons:NotEnoughItems:2.7.34-GTNH |
runtimeOnlyNonPublishable |
否 | 仅开发期运行 |
com.github.GTNewHorizons:GTNH-Web-Map:0.3.39 |
runtimeOnlyNonPublishable |
否 | 仅开发期运行(服务端) |
⚠️ GTNH-Web-Map 以 runtimeOnlyNonPublishable 引入,
因此本 mod 对服务端没有任何 FML 级依赖——二者只通过 HTTP 松耦合。
服务端的实现不在本仓库内。
架构分层
GwmClientMod (@Mod, modid=gwmclient)
└── CommonProxy 仅同步配置 + 打日志
└── ClientProxy 客户端:注册键位、事件、命令
├── KeyBindings 1 个键位(默认 M)
├── ClientEvents KeyInputEvent → 打开界面
├── GwmcCommand /gwmc
└── ModularTest 唯一的界面(MapPanel)
└── MapDrawer OpenGL 瓦片渲染
storage/ RemoteConfiguration → RemoteWorld → RemoteMap
PerMapTileDataBase → TileLoaderUrl → Tile
审计状态
- 本页 4 条目已于 2026-10-01 全量回源码逐条核对。
- 本 mod 无方块/物品/实体/配方,故不存在内容类条目; 维度按实际可交互的功能面划分,非内容占位。