DirtyChunkRenderStep
脏区块渲染步骤
基本信息
| 属性 | 值 |
|---|---|
| 路径 | com.gtnewhorizons.navigator.impl.DirtyChunkRenderStep |
| 行数 | 39 |
| 父类 | UniversalLocationInteractableStep(75 行)或 UniversalRenderStep(280 行) |
39 行的构成
| 成员 | 说明 |
|---|---|
| 构造器 | 透传 DirtyChunkLocation |
draw(double x, double y, float drawScale, double zoom) |
唯一抽象方法(UniversalLocationInteractableStep 的 :23) |
(可能)isMouseOver 覆写 |
默认矩形命中即可 |
⚠️ 39 行 = 构造器 + 一个 draw,
所以本示例没有覆写
drawCustomTooltip / onActionKeyPressed / isMouseOver
(这些在基类有空实现)。
继承哪个基类
| 候选 | 行 | 判断 |
|---|---|---|
| UniversalLocationInteractableStep | 75 | 可能——可交互但无路点语义 |
| UniversalRenderStep | 280 | 可能——纯绘制 |
⚠️ 本类 39 行太短,无法从行数确定父类。
但 draw 的 4 参数签名
draw(double x, double y, float drawScale, double zoom)
是 UniversalLocationInteractableStep 的
唯一抽象方法(:23)——
所以本类至少覆写了它,可推断父类在
UniversalRenderStep 继承链上。
四个 impl 类的协作
见 DirtyChunkLayerManager 的 「4 个 impl 类的协作」表。
⚠️ 本类是最小示例(39 行), 说明「在地图上画一个东西」所需的代码非常少 —— 大部分工作(坐标换算、缩放适配、地图 API 差异) 都在基类 UniversalRenderStep(280 行)里。
这是本 mod 设计意图的体现:
消费方只写 draw 方法。
相关
- UniversalLocationInteractableStep - 可能的父类
- UniversalRenderStep - 地图中立基类
- DirtyChunkLocation - 被绘制的数据点
- DirtyChunkLayerManager - 生成方