(此章节已于2022年7月22日重写,重写时作者使用的是Java1.19版本)
我们在第七十二章讲execute的存储子命令时,曾经遇到过这么一个子命令:
bossbar ——将值存储到boSS栏中
当时我们并没有学过bossbar的使用,所以就略过了这个子命令。
那么bossbar是什么呢?如何使用?能干什么?这就是我们这两章所要了解的内容。
首先,什么是boSS栏(bossbar)呢?
当你前往末地,或是生成一个凋零,你就会发现在屏幕的上方出现了一个粉色的血条,这就是boSS栏。
只不过boSS栏虽然叫做『boSS栏』,但它的用处不仅仅是表现boSS的血量,它还有很多其他的用处,比如在村庄劫掠中用来当做劫掠的进度。
在Java1.13及以上版本,你可以通过一条指令来使用boSS栏:
\/bossbar
作用:添加、修改或删除boSS栏
存在版本:Java1.13-今
需要权限等级:Java-2
需要作弊:否
格式:
\/bossbar add
\\\\添加一个boSS栏\\\\
\/bossbar get
\\\\返回boSS栏的某些值\\\\
\/bossbar list
\\\\列出当前所有boSS栏\\\\
\/bossbar remove
\\\\移除一个boSS栏\\\\
\/bossbar set
... set
... set
... set
... set
... set
... set
... set
不难发现,一个boSS栏有很多属性,如名称、Id、值、最大值、颜色等等,这些属性除了Id外都可以通过bossbar的set子命令更改,大部分也能通过get子命令返回。只不过,我们得先创建一个boSS栏:
\/bossbar add server_owner “腐竹“
这将会创建一个Id为『minecraft:server_owner』,叫做『腐竹』的boSS栏。
你并不会马上看到刚刚创建的boSS栏,因为此时boSS栏虽然处于显示状态,但并没有目标玩家,也就是没有对谁显示出这个boSS栏。让我们稍微设置一下:
\/bossbar set server_owner players @s
这将会设置成向我们自己展示『腐竹』boss栏,然后你就会发现这个刚刚建立的boSS栏是灰色的,值为0。这可不行,让我们来改一下它的颜色和值:
\/bossbar set server_owner color pink
\/bossbar set server_owner value 100
第一条指令将会设置boSS栏的颜色为粉色,也就是和末影龙、凋零同样的boSS栏颜色。第二条指令将会设置boSS栏的值为100,因为默认boSS栏的最大值就是100,所以设置为100的话boSS栏就满了。
boSS栏支持七种颜色:blue、green、pink、purple、red、white和yellow,默认颜色为white(白色)。只不过因为刚刚boSS栏值为0,导致颜色暗度变大,我们就看到了灰色。
不出意外的话,经过上面的设置,你应该会看到一个『满血』的腐竹boSS栏。我们可以尝试一下set子命令的其他功能,来个性化boSS栏:
\/bossbar set server_owner name {“selector“:“@p“}
这将会把boSS栏的名称改为距离指令执行地点最近玩家的名称,其中的『selector』JSoN聊天组件我们会在以后专门讲JSoN时遇到(其实已经在基岩版的JSoN中遇到了)。
\/bossbar set server_owner style notched_20
这将会把boSS栏的样式改为:20段,也就是这个boSS栏在视觉上会被分为20段。
boSS栏的样式参数支持5个值:progress(连续[默认])、notched_6(分六段)、notched_10(分十段)、notched_12(分十二段)、notched_20(分二十段)。
\/bossbar set server_owner max 20
这将会把boSS栏的最大值改为20。相应的,boSS栏的值也会减到20。
\/bossbar set server_owner visible false
这将会隐藏boSS栏。
上面这些就是set子命令的全部用法,看起来功能很多,但其实相当的简单。至于其他的子命令就更加简单了,我们来举些例子:
\/bossbar get server_owner value
这将会返回『腐竹』boSS栏当前的值。
\/bossbar get server_owner players
这将会返回『腐竹』boSS栏的目标玩家以及其数量
\/bossbar remove server_owner
这将会移除『腐竹』boSS栏。
可见,bossbar这东西虽然有很多功能,但其实易于理解,很好上手。所以本章就到这里,相信你已经懂得如何使用bossbar这条指令了。
附表:bossbar历史
Java
1.13 ——加入了\/bossbar
(\/bossbar list会列出游戏本身的boSS栏吗?)
(当然不会啦,mojang哪里会给你这样的空子去钻)