API 参考 / capability 包:服务、状态与游玩访问
HudElement
想先跑起来?
这一页是签名与行为参考。想微调单个原版元素(偏移 / 颜色 / 透明度)时用。直接做一遍:教程 · 自定义 HUD。
原版游玩 HUD 的元素身份枚举(「元素对象化」)。模组经 GameplayHud.override(HudElement) 对单个元素声明可改属性(见 HudElementOverride),宿主在渲染该元素时应用——微调原版 HUD 不必再隐藏后整块重画。
方法速览
| 方法 / 常量 | 用途 |
|---|---|
values() | 按声明顺序返回全部元素 |
valueOf(String) | 按名称解析元素 |
SCORE / COMBO | 顶部信息栏拼接段(分数 / 连击数) |
ACCURACY / HP_BAR | 准度面板 / 血条面板(独立绘制入口) |
NOTES_INFO / BPM_SPEED | 音符计数面板 / BPM 速度面板(独立绘制入口) |
SYSTEM_LOG / STATUS | 系统日志面板 / 状态行面板(独立绘制入口) |
完整签名
java
public enum HudElement {
SCORE,
COMBO,
ACCURACY,
HP_BAR,
NOTES_INFO,
BPM_SPEED,
SYSTEM_LOG,
STATUS
}values()
签名:
java
HudElement[] values();行为:按声明顺序返回全部元素,可用于遍历做统一微调或诊断输出。
示例:
java
for (HudElement e : HudElement.values()) {
ctx.getLogger().info("element: " + e);
}valueOf(String name)
签名:
java
HudElement valueOf(String name);行为:按常量名解析;名称不匹配(含 null)时抛 IllegalArgumentException——解析外部配置时应先做白名单校验或捕获异常。
示例:
java
HudElement e = HudElement.valueOf("COMBO");各元素与属性支持
| 常量 | 含义 | offset / color / alpha |
|---|---|---|
SCORE | 分数(顶部信息栏拼接段) | 全支持(存在声明时改走分段绘制) |
COMBO | 连击数(顶部信息栏拼接段) | 全支持(同上) |
ACCURACY | 准度面板 | 全支持(独立绘制入口) |
HP_BAR | 血条面板 | 全支持(独立绘制入口) |
NOTES_INFO | 音符计数面板 | 全支持(独立绘制入口) |
BPM_SPEED | BPM / 速度面板 | 全支持(独立绘制入口) |
SYSTEM_LOG | 系统日志面板 | 全支持(独立绘制入口) |
STATUS | 状态行面板 | 全支持(独立绘制入口) |
补充约束:
- 顶部信息栏是拼接文本行(score | combo | grade | delay 同串绘制)。存在
SCORE/COMBO的微调声明时宿主改走分段绘制(各段按声明落笔,未声明段与分隔符视觉不变);无任何声明时保持原单串拼接路径,逐像素不变。 - 可见性开关(
setScoreVisible/setComboVisible)与覆盖自绘不受元素微调影响。 grade/delay段与曲名段不在元素枚举内(无微调入口)。- 不支持的属性会被宿主限频告警并忽略(绝不静默改语义)。
稳定性:2.0 起冻结:2.x 内只增不破。