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 方法。

相关