信息栏与外部 BossBar
全局设置、Row、Item、边界和 BossBar 接管字段参考
信息栏(Stack)是一个全局自动排版区域。设置位于 core/display/stack/settings.yml,Row 位于 core/display/stack/rows。
需要完整操作流程时,先阅读Stack 自动排列。本页代码未标为完整文件时,均为对应节点中的片段。
文件关系
system.yml
settings.yml
system.yml
external-bossbars.yml
全局设置
enabled: true
anchor:
x: 50
y: 0
offset:
x: 0
y: -194
refresh: 20
defaults:
font: ui
image:
namespace: xerr_ui
basename: icon
vertical:
direction: down
align: start
step: 24| 字段 | 类型 / 省略值 | 范围 | 说明 | 生效 |
|---|---|---|---|---|
enabled | 布尔 / true | true/false | 是否启用 Stack | 重载 |
anchor.x/y | 小数 / 50,0 | 有限值,显示时限制到 0~100 | 整个 Stack 的屏幕锚点 | 打包 |
offset.x/y | 整数 / 0,-20 | GUI 像素 | 整个 Stack 从锚点移动 | 打包 |
refresh | 整数 / 20 | 1~1200 tick | 默认刷新间隔 | 重载 |
defaults.font | 字体 ID / pixel | 已登记字体 | Stack Layout 的默认字体 | 打包 |
defaults.image.namespace | 字符串 / 无 | 图片命名空间 | 默认图片组 | 打包 |
defaults.image.basename | 字符串 / 无 | 图片组 | 默认图片组 | 打包 |
vertical.direction | 字符串 / down | down、up | Row 堆叠方向 | 打包 |
vertical.align | 字符串 / start | start、center、end | 多行相对原点的整体对齐 | 打包 |
vertical.step | 整数 / 22 | 0~512 | 相邻 Row 原点间距 | 打包 |
vertical.align:
start: 第一行保持在原点,后续按方向展开。center: 所有可占位 Row 围绕原点居中。end: 最后一行保持在原点。
Row
primary:
order: 10
empty: collapse
offset:
x: 0
y: 0
horizontal:
align: center
gap: 6
condition: |
true
refresh: 20
items:
time:
layout: stack_time| 字段 | 类型 / 省略值 | 范围 | 说明 | 生效 |
|---|---|---|---|---|
| 顶层节点 | 字符串 | 全局唯一 | Row ID | 打包 |
order | 整数 / 0 | 任意整数 | Row 排序,数字小的在前 | 打包 |
empty | 字符串 / collapse | collapse、reserve | 空 Row 是否保留纵向槽位 | 打包 |
offset.x/y | 整数 / 0 | GUI 像素 | 移动整行 | 打包 |
horizontal.align | 字符串 / center | left、center、right | 同行 Item 相对原点的对齐 | 打包 |
horizontal.gap | 整数 / 6 | 0~4096 | 相邻 Item 间距 | 打包 |
condition | Kether / 无 | 布尔结果 | 是否允许整行显示 | 重载 |
refresh | 整数 / 继承全局 | 1~1200 tick | Row 条件与 Item 的默认刷新间隔 | 重载 |
items | 映射 / 必填且非空 | Item ID 到配置 | 同行内容,保留 YAML 顺序 | 打包 |
collapse 会让下面 Row 补位;reserve 即使为空也保留槽位。
Item
quest:
layout: stack_quest
condition: |
quest active
refresh: 10
variables:
title: "当前任务"
offset:
x: 0
y: 0
margin:
left: 4
right: 8
bounds:
left: -40
right: 40
top: 12
bottom: -12| 字段 | 类型 / 省略值 | 范围 | 说明 | 生效 |
|---|---|---|---|---|
layout | Layout ID / 必填 | 已加载 Layout | Item 画面 | 打包 |
condition | Kether / 无 | 布尔结果 | 隐藏整个 Item 并触发同行重排 | 重载 |
refresh | 整数 / 继承 Row,再继承全局 | 1~1200 tick | 内容和条件刷新间隔 | 重载 |
variables | 字符串映射 / 空 | 任意键值 | 传给 Layout | 重载 |
offset.x/y | 整数 / 0 | GUI 像素 | 移动画面,不扩大占位 | 打包 |
margin.left | 整数 / 0 | 非负 | Item 左侧外间距 | 打包 |
margin.right | 整数 / 0 | 非负 | Item 右侧外间距 | 打包 |
bounds | 对象 / 自动测量 | 见下表 | 强制覆盖 Item 占位范围 | 打包 |
信息栏条目只引用普通布局,不能内联元素。源布局可以保留锚点;信息栏按自己的锚点安排局部内容,不改写源布局。
bounds
| 字段 | 类型 | 说明 |
|---|---|---|
left | 小数 | 占位左边界 |
right | 小数 | 占位右边界,必须不小于 left |
top | 小数 | 上边界 |
bottom | 小数 | 下边界,top 必须不小于 bottom |
大多数配置不需要 bounds。自动测量会计算文字、图片、背景和 Padding 的联合范围,重叠元素不会重复累加宽度。
affect-bounds
Layout 元素默认参与测量:
affect-bounds: true纯装饰不应改变 Item 排列时设为 false。
外部 BossBar 接管
文件:core/display/external-bossbars.yml
enabled: true
position: below
gap-y: 19
step-y: 19
max-visible: 7
preserve-effects: true
title:
font: pixel
y: 26
bar:
y: -3| 字段 | 类型 / 省略值 | 范围 | 说明 | 生效 |
|---|---|---|---|---|
enabled | 布尔 / true | true/false | 是否捕获并重绘外部 BossBar | 重载 |
position | 字符串 / above | above、below | 放在 Stack 上方或下方 | 打包 |
gap-y | 整数 / 19 | 0~512 | 与 Stack 的间距 | 打包 |
step-y | 整数 / 19 | 1~512 | 多条 BossBar 的行距 | 打包 |
max-visible | 整数 / 7 | 1~32 | 最多同时显示数量 | 打包 |
preserve-effects | 布尔 / true | true/false | 保留天空变暗、音乐和雾效果 | 重载 |
title.font | 字体 ID / 继承 Stack 字体 | 已登记字体 | BossBar 标题字体;再无字体时用 pixel | 打包 |
title.y | 整数 / 8 | -512~512 | 标题垂直位置 | 打包 |
bar.y | 整数 / -3 | -512~512 | Xerr 绘制的 BossBar 垂直位置 | 打包 |
bar.namespace | 字符串 / 无 | 已登记图片命名空间 | 与 basename 一起选择图片组 | 打包 |
bar.basename | 字符串 / 无 | 已登记图片组 | 根据颜色和分段角色 ID 读取图片 | 打包 |
above 会根据实际显示数量让 Stack 移位;没有外部 BossBar 时不占空间。
默认外观使用 xerr_ui / bossbar 普通图片组。颜色与分段角色仍由 Xerr 捕获和重绘,图片登记、路径和替换与其它 PNG 相同;分发结构见默认图片分组。