RenderWaypointBeaconMixin

LATE JM5:路点光柱

基本信息

属性 值
路径 com.gtnewhorizons.navigator.mixins.late.journeymap.RenderWaypointBeaconMixin
行数 68
注解 @Mixin(RenderWaypointBeacon.class)(:22)
构建器 Mixins 的 JOURNEYMAP_V5

与其它 JM5 mixin 的注解风格差异

mixin @Mixin 是否 remap = false
FullscreenMixin 无(:47)
MiniMapMixin 有(:25)
本类 无(:22)

⚠️ 同一构建器内 @Mixin 的 remap 设置不一致 —— FullscreenAccessor、 DisplayVarsAccessor 也都没有 remap = false。

⚠️ 源文件里有 1 个未混淆的 target 引用 (doRender(Ljourneymap/client/model/Waypoint;F)V), 说明部分方法用完整描述符、部分用短名, remap 设置的缺失靠 @ModifyVariable / @Inject 上逐个 remap = false 补救。

两个注入(@ModifyVariable + @Inject)

@ModifyVariable(:35-40)

@ModifyVariable(
    method = "doRender(Ljourneymap/client/model/Waypoint;F)V",
    at = @At(value = "STORE"),
    ...)

⚠️ method 带完整 JVM 描述符: doRender(Ljourneymap/client/model/Waypoint;F)V —— 即 doRender(Waypoint, float)。这是本 mod 里唯一用完整描述符的 JM5 注入。

⚠️ @At(value = "STORE") —— 修改该局部变量被存入时的值。 这比 @Inject 更精细(可以直接改操作数,不必写 CallbackInfo 逻辑)。

@Inject(:44 起)

第二个注入点。源码里 @Inject( 单独占一行(:44), 参数在后续行 —— 说明参数较多(可能带 cancellable / require)。

目标类做什么

RenderWaypointBeacon 是 JM5 画路点光柱(垂直光柱标记)的类。 本 mixin 让 Navigator 自己的 Waypoint 也能画光柱,而不只是 JM5 原生路点。

相关