区块加载标记
基本信息
| 属性 | 值 |
|---|---|
| 类 | org.dynmap.forge.integration.ForgeChunkLoaderMarkers(forge/integration/ForgeChunkLoaderMarkers.java) |
| 基类 | DynmapCommonAPIListener |
| 开关 | config/GTNH-Web-Map.cfg 的 settings.enableChunkLoadingMarkers(默认 true) |
| 注册位置 | DynmapMod.serverStarted(DynmapMod.java:136-139) |
| 关联指令 | /gwm updatechunks(ForgeChunkLoaderMarkers.java:45) |
功能
把 Forge ForgeChunkManager 强制加载中的区块画成地图上的 area marker 标记集——即"哪些区块被 mod 用强制加载占着"可视化。GTNH 的大型跨界区块加载器(ChunkLoader、EnderIO、Mekanism 等)常常长期占用区块,这一标记集让服主在网页上直接看到占用范围。
该类在 serverStarted 中条件注册为 API 监听器:
if(GwmConfig.enableChunkLoadingMarkers){
DynmapCommonAPIListener.register(new ForgeChunkLoaderMarkers());
ForgeChunkLoaderMarkers.updateMarkers();
}
见 DynmapMod.java:136-139。注册后立即调用一次 updateMarkers()(DynmapMod.java:138),避免等到下一次 tick 才有标记。
配置读取
类内两处读取开关,均在更新标记时生效:
| 位置 | 用途 |
|---|---|
ForgeChunkLoaderMarkers.java:163 |
if(GwmConfig.enableChunkLoadingMarkers) |
ForgeChunkLoaderMarkers.java:168 |
同上 |
另有第三处读取方在 DynmapMod.java:136,决定是否注册本监听器。
指令
ForgeChunkLoaderMarkers.java:45 在构造阶段注册子命令:
GwmCommand.registerSubCommand(new UpdateChunksGwmSubCommand("updatechunks"));
子命令名 updatechunks。由于注册在本类构造函数内,而本类只在 enableChunkLoadingMarkers 为真时被实例化,因此关闭该开关后 /gwm updatechunks 也不存在。
数值
| 数值名 | 值 |
|---|---|
| 开关默认值 | true(GwmConfig.java:13) |
| 开关读取处数 | 3(DynmapMod.java:136、ForgeChunkLoaderMarkers.java:163、:168) |
| 关联子指令 | 1(updatechunks) |
交互
| 触发 | 行为 |
|---|---|
| 服务端启动 | 条件注册监听器并立即 updateMarkers() |
开关为 false |
既不注册监听器,/gwm updatechunks 也不存在 |
/gwm updatechunks |
手动刷新标记集 |
相关条目
- config/GTNH-Web-Map.cfg - 开关定义
- ServerUtilities 认领标记 - 同一机制的另一数据源
- 标记 API - 标记集的底层接口
- /gwm - 条件注册子命令的机制