核心选项(Core)
基本信息
| 属性 | 值 |
|---|---|
| 配置文件 | journeymap.core.config |
| 宿主类 | journeymap.client.properties.CoreProperties(CoreProperties.java:27) |
@Config 字段数 |
38(本分类最大的一组) |
| 所属页签 | Advanced(19 项)、Cartography(18 项)、FullMap(1 项) |
| 加载入口 | JourneymapClient.loadConfigProperties()(JourneymapClient.java:570) |
| 界面入口 | OptionsManager → OptionSlotFactory.addSlots(..., Config.Category.Advanced, JourneymapClient.getCoreProperties())(OptionSlotFactory.java:48) |
功能
CoreProperties 是 JourneyMap 的总控配置,承载日志与更新检查、实体缓存轮询、雷达探测半径、制图(cartography)渲染质量、渲染距离五组设置。它不描述某个具体地图的外观,而是决定"地图怎么算出来、算多细、多久算一次"。
选项的字段类型统一为 java.util.concurrent.atomic 包装类(AtomicBoolean / AtomicInteger / AtomicReference<T>),因此可在不重启游戏的情况下被其它线程读取并热更新;GSON 为这三种类型各注册了自定义序列化器(PropertiesBase.java:51-53,实现在 properties/config/Atomic*Serializer.java)。
Advanced 分类(19 项)
| 语言键 | 字段 | 类型 | 默认 | 范围 | 说明 |
|---|---|---|---|---|---|
jm.advanced.loglevel |
logLevel |
String | "INFO" |
枚举 | 日志级别,候选值由 JMLogger.LogLevelStringProvider 提供(CoreProperties.java:29-30) |
jm.advanced.automappoll |
autoMapPoll |
int | 2000 | 500–10000 | 自动制图轮询间隔(ms) |
jm.advanced.cache_animals |
cacheAnimalsData |
int | 3100 | 1000–10000 | 动物实体缓存刷新间隔(ms) |
jm.advanced.cache_mobs |
cacheMobsData |
int | 3000 | 1000–10000 | 敌对生物缓存刷新间隔(ms) |
jm.advanced.cache_player |
cachePlayerData |
int | 1000 | 500–2000 | 自身位置数据刷新间隔(ms) |
jm.advanced.cache_players |
cachePlayersData |
int | 2000 | 1000–10000 | 其它玩家数据刷新间隔(ms) |
jm.advanced.cache_villagers |
cacheVillagersData |
int | 2200 | 1000–10000 | 村民数据刷新间隔(ms) |
jm.advanced.announcemod |
announceMod |
bool | true | — | 启动时在聊天栏播报本 mod |
jm.advanced.checkupdates |
checkUpdates |
bool | true | — | 联网检查新版本 |
jm.advanced.recordcachestats |
recordCacheStats |
bool | false | — | 记录缓存统计信息 |
jm.advanced.browserpoll |
browserPoll |
int | 2000 | 1000–10000 | Web 地图浏览器轮询间隔(ms) |
jm.common.radar_max_animals |
maxAnimalsData |
int | 32 | 1–128 | 雷达同时显示的动物上限 |
jm.common.radar_max_mobs |
maxMobsData |
int | 32 | 1–128 | 雷达同时显示的敌对生物上限 |
jm.common.radar_max_players |
maxPlayersData |
int | 32 | 1–128 | 雷达同时显示的玩家上限 |
jm.common.radar_max_villagers |
maxVillagersData |
int | 32 | 1–128 | 雷达同时显示的村民上限 |
jm.common.radar_hide_sneaking |
hideSneakingEntities |
bool | true | — | 潜行时隐藏实体标记 |
jm.common.radar_lateral_distance |
radarLateralDistance |
int | 64 | 16–512 | 雷达水平探测半径(方块) |
jm.common.radar_vertical_distance |
radarVerticalDistance |
int | 16 | 8–256 | 雷达垂直探测半径(方块) |
jm.advanced.tile_render_type |
tileRenderType |
int | 1 | 1–4 | 地图切片渲染算法档位 |
(行号:CoreProperties.java:29-141,逐项与源文件一一对应。)
Cartography 分类(18 项)
| 语言键 | 字段 | 类型 | 默认 | 范围 | 说明 |
|---|---|---|---|---|---|
jm.common.map_style_caveignoreglass |
caveIgnoreGlass |
bool | true | — | 洞穴层忽略玻璃方块 |
jm.common.map_style_bathymetry |
mapBathymetry |
bool | false | — | 水深着色(海图模式) |
jm.common.map_style_transparency |
mapTransparency |
bool | true | — | 半透明方块在地图上透明显示 |
jm.common.map_style_cavelighting |
mapCaveLighting |
bool | true | — | 洞穴图使用光照值 |
jm.common.map_style_antialiasing |
mapAntialiasing |
bool | true | — | 地图抗锯齿 |
jm.common.map_style_plantshadows |
mapPlantShadows |
bool | false | — | 植物绘制阴影 |
jm.common.map_style_plants |
mapPlants |
bool | false | — | 绘制植物 |
jm.common.map_style_crops |
mapCrops |
bool | true | — | 绘制作物 |
jm.common.map_style_caveshowsurface |
mapSurfaceAboveCaves |
bool | true | — | 洞穴图叠加地表层 |
jm.common.renderdistance_cave_min |
renderDistanceCaveMin |
int | 3 | 1–32 | 洞穴图最小渲染半径(区块) |
jm.common.renderdistance_cave_max |
renderDistanceCaveMax |
int | 3 | 1–32 | 洞穴图最大渲染半径(区块) |
jm.common.renderdistance_surface_min |
renderDistanceSurfaceMin |
int | 4 | 1–32 | 地表图最小渲染半径(区块) |
jm.common.renderdistance_surface_max |
renderDistanceSurfaceMax |
int | 7 | 1–32 | 地表图最大渲染半径(区块) |
jm.common.renderdelay |
renderDelay |
int | 2 | 0–10 | 每次制图任务之间的延迟 |
jm.common.revealshape |
revealShape |
枚举 | Circle |
RenderSpec.RevealShape |
已探索区域的揭示形状 |
jm.common.alwaysmapcaves |
alwaysMapCaves |
bool | false | — | 无条件持续绘制洞穴图 |
jm.common.alwaysmapsurface |
alwaysMapSurface |
bool | false | — | 无条件持续绘制地表图 |
jm.common.tile_display_quality |
tileHighDisplayQuality |
bool | true | — | 切片使用高质量显示(否则走 Tile.switchTileDisplayQuality() 的快速档) |
(行号:CoreProperties.java:65-117。)
FullMap 分类(1 项)
| 语言键 | 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
jm.common.ui_theme |
themeName |
String | 由 ThemeFileHandler.ThemeStringListProvider 给出 |
当前 UI 主题名,候选值来自磁盘主题目录(CoreProperties.java:62-63) |
数值
| 数值名 | 值 |
|---|---|
@Config 字段总数 |
38 |
| Advanced / Cartography / FullMap 分布 | 19 / 18 / 1 |
| 渲染距离默认值(洞穴 min/max) | 3 / 3 区块 |
| 渲染距离默认值(地表 min/max) | 4 / 7 区块 |
| 渲染距离硬上限 | 32 区块,且被游戏自身 renderDistanceChunks 进一步夹紧(CoreProperties.java:195-203) |
| 雷达水平/垂直半径默认值 | 64 / 16 方块 |
| 实体缓存刷新默认值 | 动物 3100ms、敌对生物 3000ms、村民 2200ms、玩家 2000ms、自身 1000ms |
交互
| 触发 | 行为 |
|---|---|
| 修改任一选项 | Options Manager 中对应控件即时写入并 save() 落盘 |
| 渲染距离填得比游戏渲染距离还大 | 下次加载配置时被压回游戏渲染距离并自动保存(validate(),:198-202) |
| 洞穴 max 填得比 min 小 | 下次加载时 max 抬升为 min(:183-187) |
| 地表 max 填得比 min 小 | 下次加载时 max 抬升为 min(:189-193) |
Ctrl + 缩放键 |
切换切片渲染档位 / 显示质量(见 热键绑定) |
非配置字段
以下 public final 字段同样持久化在 journeymap.core.config 中,但不带 @Config 注解,因此不出现在 Options Manager 界面(CoreProperties.java:143-148):
| 字段 | 类型 | 初值 | 用途 |
|---|---|---|---|
gridSpecs |
GridSpecs |
新建 | 全屏地图的网格线规格 |
mappingEnabled |
AtomicBoolean |
true |
制图总开关,被 startMapping() / stopMapping() 检查(JourneymapClient.java:434) |
renderOverlayEventTypeName |
AtomicReference<String> |
RenderGameOverlayEvent.ElementType.ALL.name() |
目标叠加层类型,由 getRenderOverlayEventType() 解析(:168-171) |
renderOverlayPreEvent |
AtomicBoolean |
true |
在 PRE 阶段而非 POST 阶段渲染叠加层 |
optionsManagerViewed |
AtomicReference<String> |
"" |
记录 Options Manager 上次访问的页签 |
splashViewed |
AtomicReference<String> |
"" |
记录启动闪屏上次展示的版本 |