第八十三章 bossbar-自定义BOSS栏 上
(此章节已于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 <ID><名称:JSON文本>
\\添加一个BOSS栏\\
/bossbar get <ID>[max|br /layers|value|visible]
\\返回BOSS栏的某些值\\
/bossbar list
\\列出当前所有BOSS栏\\
/bossbar remove <ID>
\\移除一个BOSS栏\\
/bossbar set <ID>(name|color|style|value|max|visible|br /layers)
... set <ID> name <名称:JSON文本>——设置BOSS栏名称
... set <ID> color <颜色>——设置BOSS栏颜色
... set <ID> style <样式>——设置BOSS栏分段数
... set <ID> value <值>——设置BOSS栏的值
... set <ID> max <最大值>——设置BOSS栏的最大值
... set <ID> visible <是否显示:true|false>——设置BOSS栏的显示状态
... set <ID> br /layers <目标玩家:目标选择器>——设置对谁显示BOSS栏
不难发现,一个BOSS栏有很多属性,如名称、ID、值、最大值、颜色等等,这些属性除了ID外都可以通过bossbar的set子命令更改,大部分也能通过get子命令返回。只不过,我们得先创建一个BOSS栏:
/bossbar add server_owner “腐竹“
这将会创建一个ID为『minecraft:server_owner』,叫做『腐竹』的BOSS栏。
你并不会马上看到刚刚创建的BOSS栏,因为此时BOSS栏虽然处于显示状态,但并没有目标玩家,也就是没有对谁显示出这个BOSS栏。让我们稍微设置一下:
/bossbar set server_owner br /layers @s
这将会设置成向我们自己展示『腐竹』Boss栏,然后你就会发现这个刚刚建立的BOSS栏是灰色的,值为0。这可不行,让我们来改一下它的颜色和值:
/bossbar set server_owner color br /ink
/bossbar set server_owner value 100
第一条指令将会设置BOSS栏的颜色为粉色,也就是和末影龙、凋零同样的BOSS栏颜色。第二条指令将会设置BOSS栏的值为100,因为默认BOSS栏的最大值就是100,所以设置为100的话BOSS栏就满了。
BOSS栏支持七种颜色:blue、green、br /ink、br /urbr /le、red、white和yellow,默认颜色为white(白色)。只不过因为刚刚BOSS栏值为0,导致颜色暗度变大,我们就看到了灰色。
不出意外的话,经过上面的设置,你应该会看到一个『满血』的腐竹BOSS栏。我们可以尝试一下set子命令的其他功能,来个性化BOSS栏:
/bossbar set server_owner name {“selector“:“@br /“}
这将会把BOSS栏的名称改为距离指令执行地点最近玩家的名称,其中的『selector』JSON聊天组件我们会在以后专门讲JSON时遇到(其实已经在基岩版的JSON中遇到了)。
/bossbar set server_owner style notched_20
这将会把BOSS栏的样式改为:20段,也就是这个BOSS栏在视觉上会被分为20段。
BOSS栏的样式参数支持5个值:br /rogress(连续[默认])、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 br /layers
这将会返回『腐竹』BOSS栏的目标玩家以及其数量
/bossbar remove server_owner
这将会移除『腐竹』BOSS栏。
可见,bossbar这东西虽然有很多功能,但其实易于理解,很好上手。所以本章就到这里,相信你已经懂得如何使用bossbar这条指令了。
附表:bossbar历史
Java
1.13 ——加入了/bossbar
(/bossbar list会列出游戏本身的BOSS栏吗?)
(当然不会啦,Mojang哪里会给你这样的空子去钻)