API 参考 / 能力接口(capability 包)
StatusItemHandle
状态栏自定义块句柄,由 UiCustomization.addStatusBarItem 返回。任意线程可调用;块被移除(或重新注册生成新块)后,旧句柄上的其余方法均为无操作。
方法速览
| 方法 | 用途 |
|---|---|
setText(String) | 更新块显示文本 |
setOnClick(Runnable) | 设置点击回调 |
remove() | 移除该块 |
完整签名
java
public interface UiCustomization {
interface StatusItemHandle {
void setText(String text);
void setOnClick(Runnable onClick);
void remove();
}
}setText(String text)
签名:
java
void setText(String text);行为:更新块显示文本,下次渲染帧生效;null 按空串处理。句柄对应的块已被移除时无操作。
示例:
java
item.setText("在线:3");setOnClick(Runnable onClick)
签名:
java
void setOnClick(Runnable onClick);行为:设置玩家点击块时触发的回调,游戏线程执行,可直接调用场景跳转等要求游戏线程的 API。传 null 表示无回调(纯展示块)。块被移除后调用无操作。
示例:
java
item.setOnClick(() -> {
SceneHost host = ctx.capabilities().get(SceneHost.class);
if (host != null) {
host.push(new MyScene());
}
});remove()
签名:
java
void remove();行为:移除该块,下次渲染帧消失;幂等。宿主在模组停用时也会自动调用。
示例:
java
item.remove();线程:任意线程可调用。
稳定性:2.0 起冻结:2.x 内只增不破。