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 原生路点。
相关
- Mixins -
JOURNEYMAP_V5构建器 - Waypoint - 被渲染的对象
- FullscreenMixin - 同一构建器