JMRenderStep

JM5 渲染步骤(已废弃)

基本信息

属性 值
路径 com.gtnewhorizons.navigator.api.journeymap.drawsteps.JMRenderStep
行数 24
状态 已废弃

与三套步骤接口的对照

接口 行 状态
本类 24 已废弃(JM5)
XaeroRenderStep 19 活动
RenderStep 14 活动(中立,最小)
UniversalRenderStep 280 活动(中立实现)

⚠️ 4 个「渲染步骤」类型行数递减: 中立基类 14 → Xaero 19 → JM5 24 → 中立实现 280。

⚠️ 中立实现(280 行)是三个接口总和的 5 倍 —— 印证了「适配三方差异」的工作量。

包名 drawsteps

⚠️ 包名 drawsteps 而非 rendersteps —— 而 Xaero 侧叫 rendersteps(见 api/xaero 包的 4 个子包)。

同一个概念,两个包用了两个不同名字: api/journeymap/drawsteps/ vs api/xaero/rendersteps/。

废弃原因

README.md: The JourneyMap-specific renderer and render-step APIs are deprecated because they support only JourneyMap 5

⚠️ 依赖里 compileOnlyApi(rfg.deobf('maven.modrinth:journeymap:5.2.20')) (dependencies.gradle)—— JM5 本体是公开 API 依赖, 所以 JM5 类型泄漏进 api 包,api 必须实现它才能编译。

而 JM6 没有对应的 compileOnlyApi(避免泄漏 JM6 类型), 所以 api 里的 JM6 支持只能走 UniversalLayerRenderer 的 withJourneyMapV6Overlays(Function<ILocationProvider, Collection<?>>) —— 泛型元素类型被擦除成 Collection<?>(见该条目)。

同包兄弟

JMInteractableStep(22 行)。

相关