配置
VisualProspecting 共 13 项配置,分 4 个 category:general、network、integration、caching。由 Config.syncronizeConfiguration()(Config.java:51-158)在启动时加载,文件名 config/visualprospecting.cfg。
配置项客户端与服务端都需要:标注 [CLIENT] 的只在客户端生效,[SERVER] 的只在服务端生效,[CLIENT + SERVER] 的两边都要设成一致值。
general(7 项)
| 键 | 默认 | 作用 |
|---|---|---|
enableProspecting |
true | [CLIENT] 勘探总开关。低配机器可关掉,本 mod 全部功能随之失效 |
enableTeamSharing |
true | [SERVER] GTNHLib 队伍成员间自动共享勘探数据 |
keepProspectionOnTeamLeave |
true | [SERVER] 玩家离队时把团队勘探数据复制进其个人队伍 |
cacheGenerationLogUpdateMinTime |
5 | [SERVER] 生成缓存时日志刷新的最小间隔(秒)。配置项自述「This happens only ONCE!」 |
minZoomLevelForOreLabel |
1 | [CLIENT] 显示矿脉标签的最小缩放级别。缩放从 0 起线性递增 |
minZoomLevelForUndergroundFluidDetails |
2 | [CLIENT] 显示地下流体详情的最小缩放级别 |
maxTransferCacheSizeMB |
50 | [SERVER] 玩家同步地图数据的内存上限(MB) |
recacheVeins |
false | [SERVER] 强制重做 GT 矿脉缓存,见「已知缺陷」 |
network(2 项)
| 键 | 默认 | 作用 |
|---|---|---|
minDelayBetweenVeinRequests |
2000 | [CLIENT + SERVER] 玩家请求矿脉信息的最小间隔(毫秒),防刷 |
uploadBandwidth |
2,000,000 | [CLIENT + SERVER] 客户端上传带宽上限(B/s)。配置项明确写「If exceeded, the client will be kicked!」 |
integration(2 项)
| 键 | 默认 | 作用 |
|---|---|---|
enableVoxelMapWaypointsByDefault |
false | [CLIENT / VoxelMap] 勘探产生的路点是否默认启用 |
showOreLabelsOnJourneyMap6Minimap |
true | [CLIENT / JourneyMap 6] 小地图上是否显示矿脉标签 |
caching(1 项)
| 键 | 默认 | 作用 |
|---|---|---|
maxRegionRowFileMBForInMemoryScan |
10,000 | [CLIENT + SERVER] 重建矿脉缓存时同时打开的 region 文件总大小上限(MB)。是磁盘大小,不是实际 RAM 占用;OOM 时调低 |
派生值
uploadPacketsPerSecond(Config.java:45)不是配置项,每次 syncronizeConfiguration() 重新计算:
uploadPacketsPerSecond = uploadBandwidthBytes / VP.uploadSizePerPacketInBytes
= uploadBandwidthBytes / 30,000
默认 2,000,000 / 30,000 ≈ 66 封包/秒。
已知缺陷
-
recacheVeins可能不落盘。Config.java:121-129读取后若为 true 就立刻set(false):recacheVeins = recacheVeinsProperty.getBoolean(); if (recacheVeins) { recacheVeinsProperty.set(false); }
设计意图是「一次性的强制重建开关」(配置项描述明说下次启动自动重置),但文件末尾的
if (configuration.hasChanged()) { configuration.save(); }依赖 Forge 的hasChanged()标记。某些路径下set(false)不一定触发该标记,玩家下次启动会再次读到 true 并重复执行全量缓存重建——对大地图是显著的卡顿来源。稳妥做法是手动编辑 cfg 文件并确保写回成功。 -
方法名拼写错误:
syncronizeConfiguration(Config.java:51),正确应为synchronize。全仓一致沿用,不影响功能。 -
maxRegionRowFileMBForInMemoryScan默认 10 GB 偏高。该值直接决定RegionReader同时打开的 region 文件总大小,虽说是磁盘大小而非 RAM,但配合 GT 大地图的重建任务仍可能触发 OOM——配置描述本身就建议「Reduce this if you get a OutOfMemoryException during recache」。 -
VoxelMap / JourneyMap 6 配置项在模组缺失时静默失效。这两个整合没有声明依赖,装不装都不影响 mod 加载,但相应配置项会完全无作用。