路点选项(Waypoint)
基本信息
| 属性 | 值 |
|---|---|
| 配置文件 | journeymap.waypoint.config |
| 宿主类 | journeymap.client.properties.WaypointProperties(WaypointProperties.java:20) |
| 继承链 | WaypointProperties → PropertiesBase(不继承 MapProperties) |
@Config 字段数 |
19 |
| 所属页签 | Waypoint(7 项)、WaypointBeacon(12 项) |
| 界面入口 | OptionSlotFactory.addSlots(..., Config.Category.Waypoint, getWaypointProperties())(OptionSlotFactory.java:47) |
功能
路点配置分成两大块:路点管理器本身(Waypoint 页签,7 项)与路点信标的三维投影(WaypointBeacon 页签,12 项)。
信标(beacon)是 JourneyMap 特有的机制:路点不只画在二维地图上,还会作为一根竖直光柱渲染在游戏世界三维空间中,远处可见。RenderWaypointBeacon.renderAll()(render/ingame/RenderWaypointBeacon.java:54-59)在 RenderWorldLastEvent 时被调用(forge/event/WaypointBeaconHandler.java:42-43)。
Waypoint 分类(7 项)—— 管理器与死亡点
| 语言键 | 字段 | 类型 | 默认 | 范围 | 说明 |
|---|---|---|---|---|---|
jm.waypoint.enable_manager |
managerEnabled |
bool | true | — | 启用路点管理器 |
jm.waypoint.max_distance |
maxDistance |
int | 0 | 0–10000 | 路点显示距离上限(0 = 不限制) |
jm.waypoint.create_deathpoints |
createDeathpoints |
bool | true | — | 死亡时自动创建路点 |
jm.waypoint.delete_deathpoint_on_arrival |
deleteDeathpointOnArrival |
bool | false | — | 抵达死亡点后自动删除该路点 |
jm.waypoint.keep_only_latest_deathpoint |
keepOnlyLatestDeathpoint |
bool | false | — | 只保留最近一个死亡点,旧的自动清除 |
jm.waypoint.arrival_horizontal_range |
arrivalHorizontalRange |
int | 3(注解未声明 defaultValue) |
1–50 | 判定"抵达"的水平判定半径 |
jm.waypoint.arrival_vertical_range |
arrivalVerticalRange |
int | 3(注解未声明 defaultValue) |
1–50 | 判定"抵达"的垂直判定半径 |
(行号:WaypointProperties.java:22-71。)
WaypointBeacon 分类(12 项)—— 三维光柱
| 语言键 | 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
jm.waypoint.enable_beacons |
beaconEnabled |
bool | true | 总开关:是否渲染信标 |
jm.waypoint.show_texture |
showTexture |
bool | true | 显示信标柱体纹理 |
jm.waypoint.show_static_beam |
showStaticBeam |
bool | true | 显示静态光柱 |
jm.waypoint.show_rotating_beam |
showRotatingBeam |
bool | true | 显示旋转光柱 |
jm.waypoint.show_name |
showName |
bool | true | 显示路点名 |
jm.waypoint.show_distance |
showDistance |
bool | true | 显示到路点的距离 |
jm.waypoint.auto_hide_label |
autoHideLabel |
bool | true | 标签自动隐藏(背对/超出范围时) |
jm.waypoint.bold_label |
boldLabel |
bool | false | 标签加粗 |
jm.waypoint.font_scale |
fontScale |
int | 2(范围 1–3) | 信标标签字体缩放 |
jm.waypoint.texture_size |
textureSmall |
bool | true | 使用小尺寸标签纹理 |
jm.waypoint.beacon_fade_start |
beaconFadeStart |
int | 40(范围 0–500) | 淡出起始距离 |
jm.waypoint.beacon_fade_end |
beaconFadeEnd |
int | 5(范围 0–500) | 完全淡出距离 |
(行号:WaypointProperties.java:25-77。)
数值
| 数值名 | 值 |
|---|---|
@Config 字段总数 |
19 |
| Waypoint / WaypointBeacon 分布 | 7 / 12 |
| 默认值为 false 的项 | 3(deleteDeathpointOnArrival、keepOnlyLatestDeathpoint、boldLabel) |
maxDistance 上限 |
10000 方块(默认 0 = 无限) |
| 信标淡出区间 | 40 → 5(beaconFadeEnd 小于 beaconFadeStart,即越近越透明) |
| 路点抵达判定范围 | 水平 3 × 垂直 3 方块 |
重名字段
本类有两个字段与其它类重名但语义不同,修改时注意区分:
| 字段名 | 出现在 | 语言键 |
|---|---|---|
fontScale |
WaypointProperties:50、InGameMapProperties:27 |
jm.waypoint.font_scale / jm.common.font_scale |
textureSmall |
WaypointProperties:53、InGameMapProperties:30 |
jm.waypoint.texture_size / jm.minimap.texture_size |
两者语言键不同,因此在同一个配置文件里可共存;但 PropertiesBase 的字段去重核验是按字段名做的,这 2 组加上 MiniMapProperties.enabled / WebMapProperties.enabled 合计造成 95 个 @Config 字段只有 92 个唯一字段名。
交互
| 触发 | 行为 |
|---|---|
按 B |
在当前位置创建路点(KeyEventHandler.java:156-165 → UIManager.openWaypointEditor()) |
Ctrl + B |
直接打开路点管理器(KeyEventHandler.java:130-135) |
| 玩家死亡 | createDeathpoints 开启时自动生成 Waypoint.Type.Death 类型路点 |
| 进入抵达判定范围 | arrivalHorizontalRange / arrivalVerticalRange 判定抵达;配合 deleteDeathpointOnArrival 自动删除 |
| 渲染世界最后一帧 | RenderWorldLastEvent → RenderWaypointBeacon.renderAll(),受信标页签 12 项控制 |