API 参考 / 能力接口(capability 包)
CursorRenderer
光标接管渲染器,经 UiCustomization.addCursorRenderer 注册。宿主绘制自绘光标时每渲染帧至多调用一次。
方法速览
| 方法 | 用途 |
|---|---|
render(RenderCanvas, CursorState) | 绘制整份光标 |
完整签名
java
public interface UiCustomization {
interface CursorRenderer {
void render(RenderCanvas canvas, CursorState state);
}
}render(RenderCanvas canvas, CursorState state)
签名:
java
void render(RenderCanvas canvas, CursorState state);行为:整体替代引擎默认光标绘制——该帧引擎默认的四角框 / 十字准星不再绘制,完全由模组负责(不提供字段级合并)。
canvas的逻辑坐标 = 1280×720 虚拟光标坐标系,与state.x()/state.y()同源。state为本帧状态快照(见 CursorState),每次回调新构造,勿长期持有。- 在游戏渲染线程执行,回调内不应做阻塞操作。
- 抛异常时宿主隔离异常并回退引擎默认自绘(本次接管视为未发生)。
示例:
java
ctx.uiCustomization().addCursorRenderer("cross", (canvas, state) -> {
canvas.setColor(java.awt.Color.WHITE);
canvas.fillRect(state.x, state.y - 8, 1, 16);
canvas.fillRect(state.x - 8, state.y, 16, 1);
});线程:游戏渲染线程,每渲染帧至多一次。
稳定性:2.0 起冻结:2.x 内只增不破。