跳到主要内容

进度显示

stats 组件通过 BossBar 显示任务或条目的进度,支持临时显示和持久显示两种模式,可以自定义样式、颜色、显示内容,也可以通过 Kether 脚本自定义进度计算逻辑。

基础示例
quest_collect:
task:
collect_wood:
objective: collect
goal:
name: OAK_LOG
amount: 64
addon:
stats:
visible: true # 进度更新时短暂显示
stay: 60 # 显示 60 tick(3 秒)
color: GREEN
style: SEGMENTED_10
content: '&a{name} &f{value}&7/&f{target} &8({percent}%)'

字段说明

字段类型默认值说明
visibleboolean / 'always'falsetrue 临时显示,false 不显示,'always' 持久显示
staynumber配置文件默认值临时显示时长(tick),仅 visible: true 时有效
stylestring配置文件默认值BossBar 样式,见下方列表
colorstring配置文件默认值BossBar 颜色,见下方列表
contentstring配置文件默认值显示内容模板,支持占位符变量
boss-musicbooleanfalse播放 Boss 音效
darken-skybooleanfalse黑化天空
$list-Kether 脚本,用于自定义进度计算

style 可选值: SOLIDSEGMENTED_6SEGMENTED_10SEGMENTED_12SEGMENTED_20

color 可选值: PINKBLUEREDGREENYELLOWPURPLEWHITE

内容模板变量

变量说明
{name}任务或条目的显示名称
{value}当前进度值
{target}目标进度值
{percent}完成百分比(0~100)

持久显示

visible: 'always' 让 BossBar 在整个任务期间持续显示,适合配置在任务级来展示整体进度。

任务级持久进度条 + 条目级临时进度条
quest_main_story:
meta:
name: '主线任务'
addon:
stats:
visible: 'always' # 任务进行期间始终显示整体进度
color: PURPLE
style: SOLID
content: '&5主线进度 &f{value}&7/&f{target}'
task:
kill_dragon:
objective: kill
goal:
name: Ender_Dragon
amount: 1
addon:
stats:
visible: true # 此条目单独显示进度,完成后消失
stay: 100
color: RED
style: SEGMENTED_6
content: '&c击杀进度 &f{value}&7/&f{target}'
boss-music: true # 播放 Boss 战音效
darken-sky: true # 黑化天空增加氛围

自定义进度脚本

通过 $ 字段注入 Kether 脚本,手动设置 valuetargetpercent 变量来覆盖默认进度计算。

自定义进度计算
quest_score_challenge:
tasks:
score_task:
objective: player_data
goal:
key: challenge_score
target: 500
addon:
stats:
visible: true
stay: 80
color: YELLOW
style: SEGMENTED_20
content: '&e挑战分数 &f{value} &7/ &f{target}'
$:
- 'set value to player data challenge_score' # 当前分数
- 'set target to 500' # 目标分数
# 不设置 percent,自动按 value/target 比例计算
提示

$ 脚本中三个变量(valuetargetpercent)可以只覆盖部分,未设置的变量回退到条目的默认计算结果。