如何创建并管理一个计分项呢?这就需要使用/scoreboard。
/scoreboard
作用:控制计分板
需要权限等级:Java-2,基岩-1
需要作弊:是
格式(本章所涉及):
/scoreboard objectives ...
Java版
... add <计分项名称><准则>[<显示名称:JSON>]——添加计分项(注:JE1.13以下版本“显示名称”参数的值类型为字符串)
... list ——列出当前所有计分项
... modify <计分项名称>...——对指定计分项进行一些更改操作[1.13更新]
...... displayname <显示名称:JSON>——更改指定计分项的显示名称[1.13更新]
...... rendertype
... remove <计分项名称>——删除计分项
... setdisplay <显示位置>[计分项名称]——指定特定的位置显示指定的计分项或取消显示计分项。
基岩版
... add <计分项名称:字符串><准则>[<显示名称:字符串>]——添加计分项
... list ——列出当前所有计分项
... remove <计分项名称:字符串>——删除计分项
... setdisplay <显示位置>[计分项名称:字符串][排序方法:ascending|descending]——指定特定的位置显示指定的计分项或取消显示计分项。
现在让我们来试一试。首先来尝试添加一个最基本的计分项:
/scoreboard objectives add coin dummy 金钱——仅Java1.13以下和基岩版
/scoreboard objectives add coin dummy “金钱“——仅Java1.12.2以上
上面的指令将会添加一个准则为dummy,显示名称为“金钱”,叫做“coin”的计分项。
添加计分项时我们需要特别注意准则的选择。正如上一章所说的“准则决定了记分项具体要跟踪的信息”,一个计分项的作用,很大程度上是由准则决定的。
准则在基岩版只有dummy(虚拟型),在Java版有两大类:单一准则和复合准则。
单一准则不可自定义,是Mojang已经给你预设好的准则,目前有如下几种:
dummy:虚拟型,最基础的准则,仅可通过/scoreboard players指令修改。
trigger:触发器,类似于dummy,但所有玩家均可修改自己的trigger型计分项。具体内容会在第九十八章讲到。
deathCount:玩家死亡次数,当玩家死亡时游戏会自动增加他的分数,可以通过指令修改。(Java版的死亡榜就是这么搞的)
playerKillCount:玩家击杀(玩家)数,当玩家击杀其他玩家时游戏会自动增加他的分数,可以通过指令修改。
totalKillCount:玩家击杀(生物)数,当玩家击杀其他任意生物时游戏会自动增加他的分数,可以通过指令修改。
health:玩家生命值,伤害吸收和生命提升的血也会计算在其中。当玩家第一次刷新生命值之前该玩家的分数会为0。不可通过指令修改。
xp:玩家经验值,不可通过指令修改。
level:玩家经验等级(注意和xp准则区分),不可通过指令修改。
food:玩家饱和度,和health准则一样,在玩家第一次刷新饱和度之前该玩家的分数会为0,不可通过指令修改。