目录

新人手册

1 记分板变量(objective)

1.1 记分板变量简介

1.1.1 对象

注: 这里的对象不是objective, 而是被objective记录分数的玩家名/实体
因为这名字比较贴近真实情况, 易于理解

对象包括玩家的名字(这个玩家可以不存在)和实体(一切非方块和有坐标的东西,比如玩家、怪物和掉落状态的沙子),对象可以加入队伍,或是拥有分数(分数是储存在变量里的)

玩家死亡/离开游戏时储存在变量那里的分数不会消失, 然而实体消失时则会清除分数。

注意: 大部分命令也可以使用*代表所有拥有分数的对象。

1.1.2 变量(objective)

变量(objective, 官方译名为目标, 然而这和含义不符而且和别的字有冲突, 因此我们不使用)是记分板的重要组成部分,用于储存分数
每个地图可以有多个变量,每个变量可以追踪多个对象,而每个对象可以同时被多个变量追踪(有多个分数)

变量储存玩家分数(包括不存在的玩家)时会储存其名字, 而变量储存玩家以外的实体时会储存其uuid。

进阶
scoreboard.dat

1.1.3 对象与变量的关系

变量1 变量2 变量3 如此类推
对象1 分数(比如1) 分数(比如2) 分数(比如没有追踪) ...
对象2 分数(比如-1) 分数(比如0) 分数(比如120) ...
对象3 分数(比如-50) 分数(比如0) 分数(比如10000) ...
... ... ... ... ...

例子里,对象1同时被变量1和2追踪,而变量3追踪了2个对象

1.1.4 变量组成部分

组成部分 用途 格式/限制
变量名称 记分板命令、/trigger命令、选择器中的分数参数 1个字,中间不能有空格,区分大小写
建议使用英文、数字和 _ (下划线),否则可能报错/不能辨别(目标选择器)
不能长于16个字符(每个英文字母/下划线都是1个字符)
判据 决定变量中不同对象分数的依据 见判据
显示名称 用较长的句子描述记分板的功能
由于不会使用在选择器中,所以可以用中文
显示名称最多能有32个字符(每个空格/符号/英文字母当一个字符)
所有minecraft能显示的字符都能使用
分数 以对象为单位储存,能够使用选择器/命令探测 每个对象的分数范围是-2,147,483,648 至 2,147,483,647,不支援小数

1.2 创建、删除、列出记分板变量

1.2.1 建立变量

(i) 命令格式

/scoreboard objectives add <变量名称> <判据> [显示名称]

显示名称可以不写。如果没有设定显示名称,它会自动用变量名称作显示名称
判据请参考下方的判据表。

(ii) 例子

/scoreboard objectives add first_obj dummy 第一个记分板变量

就会建立一个叫first_obj的变量,显示名称是“第一个记分板变量”

(iii) Stats

成功: 记分板里没有同名变量

失败: 记分板里有同名变量

1.2.2 删除变量

(i) 命令格式

/scoreboard objectives remove <变量名称>

(ii) 例子

/scoreboard objectives remove first_obj

就会删除名为“first_obj”的变量

如果出错,可能是因为你那个变量名称写错了
很有可能是大小写的问题

(iii) Stats

成功: 记分板里有指定变量

失败: 记分板里没有指定变量

1.2.3 列出所有变量

(i) 命令

/scoreboard objectives list

(ii) Stats

1.3 显示区(display slot)

透过显示区(display slot),变量能够透过不同的方式显示出来,这些方式包括

显示区 用途
list 在玩家列表(显示在线玩家的地方)显示分数
如果list里有变量,那么就算是在单人模式,这个玩家列表也能显示
sidebar 侧边栏,在画面的右侧显示,上方为该变量的显示名称
对象的名称以两种方式显示,如果是玩家的名称,就直接显示;否则,就显示uuid
如果玩家名以#符号开头(比如#fake_player),这个玩家名的分数不会显示在侧边栏
只能显示15个对象
以分数大小排列,分数越大,排名越前
如果该变量还没有追踪任何的对象,那么侧边栏将会不可见
sidebar.team.<颜色> 颜色有16种,在队伍部分会详细介绍
类似sidebar,但是,只有该颜色的队伍才能看见
belowName 在玩家头下显示分数(只有在多人才可以看见,而且只有玩家才会显示)
当玩家在10格以外或在潜行(按shift),这个分数会不可见
显示方式: <分数> <显示名称>

1.3.1 设定显示区

(i) 命令

/scoreboard objectives setdisplay <显示区> [变量名称]

如果不填写,则会清空该显示区(不显示任何变量的分数)

(ii) 例子

/scoreboard objectives setdisplay sidebar first_obj

在侧边栏显示first_obj的分数

/scoreboard objectives setdisplay sidebar

清空侧边栏(不显示侧边栏)

(iii) Stats

成功: 记分板里有指定变量(如果有指定变量)及有指定显示区

失败: 记分板里没有指定变量/错误显示区名称

1.4 判据(criteria)

判据(Criteria)就是确定变量中不同对象分数的依据,分为两类:一般判据和复合判据
一般判据通常比较短,比如dummy 就是其中一个判据。
复合判据就是后面有可以选择的参数, 如实体类型、方块类型、物品类型等等,用作储存相关统计数据。

由于判据是直接根据游戏统计判断, 因此只对玩家有效。

1.4.1 一般判据

判据 特点/用途
dummy 只有命令可以影响这个数值
trigger 只有命令可以影响这个数值,但是,非管理员的玩家可以用/trigger命令来更改自己的这个数值
(当那个玩家的trigger变量被激活)
当这个数值被更改后,那个玩家的trigger变量会被关闭(如果要使用,需要重新激活)
详见“触发器”
deathCount 死亡次数,当玩家死后,他的分数自动加1
playerKillCount 杀玩家次数,当他成功杀了玩家时,他这个分数会加1
totalKillCount 杀敌次数,当玩家成功杀死任何东西时,这个分数会加1
health 玩家的血量,每个心为2点。这个分数只能读取,不能改变
xp 玩家的经验值。这个分数只能读取,不能改变
level 玩家的经验等级。这个分数只能读取,不能改变
food 0-20。代表玩家的饥饿度。可能在玩家饥饿度第一次发生改变前为0。这个分数只能读取,不能改变
air 0-300。代表玩家在水底时的空气量。和air nbt相符。这个分数只能读取,不能改变
armor 0-20。代表玩家的防护点数。可能在玩家防护点数第一次发生改变前为0。这个分数只能读取,不能改变

1.4.2 复合判据

复合判据都有多个参数(这些参数通常都是实体名称、方块/物品名称、统计项目、队伍颜色、成就等等)
复合判据的用法:判据 + '.' + 参数(比如stat.entityKilledBy.Zombie)

判据 特点/用途 参数种类
achievement 当玩家做了能够得到某个成就(参数)的动作时,这个分数就会加1 所有成就种类
比如acquireIron, bakeCake, blazeRod, bookcase, breedCow等等,参见附录
stat 当玩家某个统计数值(参数)增加时,这个数值会相应的增加 所有统计,参见附录
stat.craftItem 当玩家成功合成某个物品(参数)时,这个数值会增加1 所有物品的名字(要有“minecraft.”,和/give指令用的一样),参见附录
stat.useItem 当玩家使用了某个物品(参数)时,这个数值会增加1
使用的定义:
当一个方块被放下
当工具所做的动作能消耗耐久度
用物品生成一个实体(飞溅药水、矿车等等)
物品被使用之后消失/变成另一个物品
唱片被放进唱片盒

注意,当物品用于对实体重新命名/驯服/喂饲/繁殖(对成年的生物使用生怪蛋也不算)/裝以馬鞍/縶上绳子/剪羊毛/榨奶/装蘑菇汤,就算途中那个物品消失了/消耗耐久度,那个分数也不会增加
所有物品的名字(要有“minecraft.”,和/give指令用的一样),参见附录
stat.breakItem 当玩家手上的物品(参数)因耐久度消耗完毕而被破坏时,这个分数会加1 所有物品的名字,参见附录
stat.mineBlock 当玩家成功挖掉某种方块(参数)时,这个分数会加1
挖掉的定义:
以能够掉落物品的方法破坏(适当的工具),除非这个方块在不使用附魔的情况下不会掉落
这个方块在被破坏时,会产生另一个方块(比如冰块)

注意
当玩家是在创造模式时,这个数值不会增加
当游戏规则“doTileDrops”被设定为否(方块被破坏时不会掉落物品)时,这个分数还是会工作
所有方块的名字(要有“minecraft.”,和/give指令用的一样,参见附录
stat.killEntity 当玩家成功杀死某种生物(参数)时,这个分数会加1 所有实体的名字,参见附录
stat.entityKilledBy 当玩家被某种生物(参数)杀死时,这个分数会加1 所有实体的名字,参见附录
teamkill 当玩家杀死了某个颜色的队伍(参数)的玩家时,这个分数会加1 所有队伍的颜色,详见队伍设定中的颜色部分
killedByTeam 当玩家被某个颜色的队伍(参数)的玩家杀死时,这个分数会加1 所有队伍的颜色,详见队伍设定中的颜色部分
stat.pickup 当玩家捡起指定物品时会增加 所有物品的名字(要有“minecraft.”,和/give指令用的一样),参见附录
stat.drop 当被玩家扔出指定物品(默认Q键)时会增加 所有物品的名字(要有“minecraft.”,和/give指令用的一样),参见附录