UseForcedChunks

基本信息

属性 值
配置项 Settings.UseForcedChunks
宿主字段 DynmapMod.useforcedchunks(forge/DynmapMod.java:47,public static boolean)
读取位置 forge/DynmapMod.java:87
文件路径 event.getSuggestedConfigurationFile()(DynmapMod.java:83)→ <MC 根目录>/config/dynmap.cfg
格式 Forge Configuration(INI 风格)
分区 Settings

功能

控制 Dynmap 是否通过 Forge 的 ForgeChunkManager 强制区块加载机制来保证其追踪的区块保持在内存中。

读取在 DynmapMod.preInit 内完成,同样是"读-改-写"模式:cfg.load() → cfg.get("Settings", "UseForcedChunks", true).getBoolean(true) → finally { cfg.save(); }(DynmapMod.java:84-92)。注意 getBoolean 的默认值传了两次(getBoolean(true) 与 get(...) 的第三参 true),二者一致,均为 true。

消费点在 DynmapMod.init(DynmapMod.java:99):

  • 为 true(默认):ForgeChunkManager.setForcedChunkLoadingCallback(DynmapMod.instance, new LoadingCallback())(DynmapMod.java:103)
  • 为 false:向 stdout 输出 [Dynmap] World loading using forced chunks is disabled(DynmapMod.java:106)

LoadingCallback 是 DynmapMod 的内部类(DynmapMod.java:61),实现 ForgeChunkManager.LoadingCallback。其 ticketsLoaded 在收到票据时取第一张作为"忙碌世界"标记,并立即释放其余所有票据(DynmapMod.java:63-69)——即刻意只保留 1 张强制加载票据。

数值

数值名 值
默认值 true
取值类型 布尔
保留的强制加载票据数 至多 1(DynmapMod.java:66-68 释放 i >= 1 的全部票据)

交互

触发 行为
值为 true 注册 ForgeChunkManager 回调,进入 LoadingCallback.ticketsLoaded
值为 false 打印禁用提示,不注册回调

关闭后的取舍

仓库 README.md 未讨论该项。结合源码:关闭后 Dynmap 不再持有强制区块,渲染将依赖区块自然卸载——已被卸载的区块需要重新加载才能增量渲染。仓库 README.md 建议的 fullrender 预渲染流程因此更适合在关闭该项时使用。

相关条目