JourneyMap Legacy

[!INFO] Git Commit: 2e19415 | Updated: 2026-10-02

JourneyMap 是 GTNH 1.7.10 上的全屏世界地图模组,提供实时渲染的小地图与全屏地图、路点系统、实体雷达,以及可选的浏览器 Web 地图。它是典型的"零内容"模组——不注册任何方块、物品、实体、TileEntity 或合成配方,全部价值在渲染、配置与界面层。

⚠️ modid 与分类名不同:本 wiki 分类名是 journeymap-legacy,而游戏内的 modid 是 journeymap。modid 取自源码三处一致的定义——Journeymap.MOD_ID = "journeymap"(src/main/java/journeymap/common/Journeymap.java:40)、@Mod(modid = Journeymap.MOD_ID, ...)(:32)、gradle.properties 的 modId = journeymap,以及 mcmod.info 的 "modid": "journeymap"。journeymap-legacy 是仓库名(远端 GTNewHorizons/journeymap-legacy)与本 wiki 分类名,不是游戏内 ID;资源命名空间同样是 journeymap。这与 data/ 下的 at 分类(Xaero/Atlas 那一系)也是两个不同的 mod,不可混用。

源码与版本

本文档全部内容来自单一检出的 master 分支,HEAD 提交 2e194152cbcb3f376d09becd203d4c53daf7e9ab(提交信息 Merge branch 'TeamJM:master' into master,日期 2026-09-17)。git cat-file -t 2e19415 返回 commit,哈希真实存在。

跨版本隔离核验:该仓库只有 master 一个本地分支、没有任何 tag,git rev-list --count HEAD 为 1(历史被压成单提交)。全树只有 1 个 Minecraft 版本:gradle.properties 的 minecraftVersion = 1.7.10,project.properties 的 minecraft_version=1.7.10,以及 MixinLoadingPlugin 的 @IFMLLoadingPlugin.MCVersion("1.7.10")。逐项排查其它版本字符串后确认无跨版本内容:

表面命中 实际含义
ConfigHandler.java:24 的 CONFIG_VERSION = 1.12F 配置结构版本号,与 Minecraft 1.12 无关
BaseRenderer.java:90 的 1.20f 山体阴影乘数浮点数

源码中虽有若干 // 1.8 / // 1.8.8 的注释掉的 import 与方法签名对照(如 Constants.java:29-31、KeyEventHandler.java:29-32、CommandJMServerForge.java:27、:42、:56),说明这些文件曾为多版本共用,但均为注释,不参与编译。

源码语言为纯 Java:298 个 .java 文件,.scala / .kt 均为 0。

依赖

硬依赖只有 Forge 一个:@Mod(dependencies = "required-after:Forge@[BuildInfo.FORGE_VERSION,)")(Journeymap.java:37),版本 10.13.4.1614(gradle.properties 的 forgeVersion 与 project.properties 的 forge_version)。mcmod.info 中同样只声明 Forge@[${forgeversion},)。

dependencies.gradle 中的 5 条依赖全部是构建期依赖,不是游戏 mod:javax.servlet-api:4.0.1、info.journeymap:webmap-client:0.8-SNAPSHOT、io.javalin:javalin:4.6.8(均为 shadowImplementation,会被重定位打包进 jar),以及 slf4j-simple / slf4j-api 1.8.0-beta4。UniMixins 是软依赖(jar 已移除 manifest 的 TweakClass,未装也不崩)。对第三方 mod 的集成(Thaumcraft、AE2、Chisel 等)也全部是软依赖,未在 @Mod 中声明。

内容统计(均为活跃项)

类别 数量 备注
方块 / 物品 / TileEntity / 实体 / 合成配方 0 / 0 / 0 / 0 / 0 核验:GameRegistry.register*、registerBlock、registerItem、registerTileEntity、registerModEntity、CraftingManager 在全树均无注册调用
按键绑定 6 全部注册(ClientRegistry.registerKeyBinding)
服务端指令 1 /jmserver,2 个顶层子命令 + 4 个二级子命令
网络通道 1 world_info
Mixin 2 均为客户端
FML 事件处理器 5 4 客户端 / 1 服务端
@SubscribeEvent 方法 12 客户端 11 + 服务端 1
配置项(@Config) 95 92 个唯一字段名;死配置项 0 个
客户端配置文件 6 JSON 格式
权限控制功能 5 Feature 枚举
地图类型 5 MapType.Name
制图渲染器 5 + 1 抽象基类
实体雷达类别 4 + 自身数据缓存
Web 地图 HTTP 路由 9 8 GET + 1 POST
内置主题 2 + Vault 用户目录

维度列表

配置文件

  • 配置文件 - 6 个客户端 JSON 配置与每世界 1 个服务端 cfg 的加载、版本与校验规则

配置选项

  • 核心选项 - journeymap.core.config 的 38 项,含渲染距离与雷达半径
  • 小地图选项 - 两套小地图预设的 17 项,及预设 2 的出厂值
  • 地图显示选项 - 三个地图配置共用的 20 项图层与文字开关
  • 路点选项 - journeymap.waypoint.config 的 19 项,含信标淡出
  • Web 地图选项 - 启用开关与端口,含端口占用静默回退

界面

API

集成

渲染

其它维度