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:24 public 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 字段, 而代码直接 import com.cleanroommc.modularui.*。 ⇒ 缺 ModularUI 时会直接 NoClassDefFoundError,FML 不会给出友好提示。

功能条目

依赖

依赖 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 无方块/物品/实体/配方,故不存在内容类条目; 维度按实际可交互的功能面划分,非内容占位。