Guides / Commands & Data

进度条和标题:持久状态、时序以及当前值/最大值分离

进度条在重启后仍然存在,而标题则不会。本文将介绍创建-修改模式、人们常设错的淡入淡出时序,以及如何驱动进度条。

两者都会在屏幕上显示文本,但相似之处仅此而已。标题是即发即弃的;进度条是需要你管理的持久对象。

进度条是有状态的

/bossbar add my:timer {"text":"Time left"}
/bossbar set my:timer players @a
/bossbar set my:timer max 600
/bossbar set my:timer value 600
/bossbar set my:timer color red
/bossbar set my:timer style notched_10

先是 ID,然后是修改它的命令。玩家容易出错的地方:

  • 进度条在有玩家之前是不可见的。 创建一个进度条但从不运行 set ... players 将不会显示任何内容,也不会报错。
  • 它会持久保存在世界存档中。 为小游戏创建的进度条在下一次会话中仍然存在。完成后请运行 /bossbar remove,否则它们会累积。
  • valuemax 是独立的,进度条显示的是 value / max。如果只设置了 value,而最大值仍为 100,则进度条的填充会显示异常。

颜色:pink white red orange yellow green blue purple。 样式:progress notched_6 notched_10 notched_12 notched_20

驱动倒计时

/bossbar set my:timer value 599

每秒从一个重复函数中运行一次,这就是整个机制。没有内置计时器。读取它也很有用:

/execute store result score @s Left run bossbar get my:timer value

bossbar get 支持 valuemaxplayersvisible,这使得进度条在你想让玩家看到时,可以作为可用的全局变量。

标题是瞬态的

/title @a times 10 70 20
/title @a subtitle {"text":"Get ready"}
/title @a title {"text":"Round 2"}

按此顺序有三件事,并且顺序很重要:

  1. 先设置 times 在标题显示后设置它对已显示的标题没有影响。
  2. title 之前设置 subtitle 单独的副标题不会显示任何内容;发送标题才会触发两者一起出现。如果顺序颠倒,第一个标题会显示,但没有副标题。

timesfadeIn stay fadeOut 以刻为单位——每秒 20 刻。10 70 20 是半秒淡入,三秒半保持,一秒淡出。人们设置 1 1 1 却疑惑为什么什么都没有出现:总共三刻只是一个闪烁。

动作栏是独立的

/title @a actionbar {"text":"Saved"}

热键栏上方的文本行。它完全忽略 times——它会显示固定的几秒钟然后淡出。每刻重新发送它会使其永久显示,这是运行自定义 HUD 的标准方式。

清除

/title @a clear 会移除正在显示的内容;/title @a reset 还会恢复默认时序。 对于进度条,/bossbar set my:timer visible false 会隐藏而不破坏状态。

高级命令构建器——控制与调试 的表单中构建进度条、标题以及其他控制和调试命令。

高级命令生成器 — 控制与调试 →

More guides

Browse all →

还想找别的我的世界工具?

一整套在浏览器里运行的生成器、查看器和转换器,全部免费。