记分板

发表时间: 2025-11-12 14:09:38

最后更新: 2025-11-12 14:09:38(7小时前)

本文标签: 游戏记录

用户头像-Connie 等1名 热心馆友编辑完成

记分板是我的世界的一种游戏内容

介绍

  1. 记分板(Scoreboard)系统是一个复杂的游戏机制,通过命令来进行操作,主要为地图制作人和服务器管理员所设计。

  2. 该系统的主要功能是跟踪、设置和列出玩家生物的分数,利用多种形式进行数据管理。

  3. 每个记分项(Objective)由名称、显示名称和准则三部分组成,能够监测游戏中的特定对象或事件,并将其某些属性转换为可以存储的分数。

  4. 在游戏内部,记分板的分数以32位整型数字形式表现,因此不能为小数,且其取值范围为-2,147,483,648至2,147,483,647(闭区间)。

  5. 记分项名称为每个记分项的唯一标识符,主要用于在命令、目标选择器参数及某些文件格式中引用该项名称,并且在Java版中,名称区分大小写,允许包含字母、数字以及某些符号。

  6. 显示名称则用于在不同场合展示记分项,同样允许多个记分项具有相同的显示名称,Java版中为文本组件,而基岩版中限制为单一文本。

  7. 准则(Criterion,复数形式为Criteria)用于决定记分项应该追踪哪些游戏内的对象或事件,从而根据这些准则更新分数。

  8. 除了只读型记分项外,所有记分项的分数都可以通过命令进行修改,修改时可以指定增减的数值,或直接设置为特定的值。

  9. 分数持有者(Score Holder)是指那些被记分项记录下的玩家名称或实体UUID,其具有某一确定的分值,但需要注意的是,玩家名不必是实际存在的玩家。

  10. 对于非玩家实体,其分数只能通过命令进行修改,而不能通过游戏内的系统进行更改,且一旦非玩家实体死亡,其分数会被清除。

  11. 命令可以通过目标选择器的scores参数来检查实体的分数,语法为scores={<名称>=<最小值>..<最大值>},其中<名称>是记分项的唯一标识符。

  12. 例如,在命令方块中输入/execute if entity @a[scores={deaths=1..5}]时,比较器或条件制约的命令方块将在有玩家在deaths记分板上拥有1到5分时输出结果。

记分项

一、 准则

Java版

  1. 准则定义了记分项的记分行为,是记分项必不可少的部分。
  2. 以下介绍记分项在各类准则约束下的记分行为。

单一准则

准则名称 描述 能否被修改
dummy
虚拟型
分数只能通过命令修改,不被实体死亡等游戏事件影响。可用作事件标志、状态映射、货币等等。
trigger
触发器
分数只能通过命令修改,不被实体死亡等游戏事件影响。玩家都能够使用/trigger命令对其相关联的触发器准则记分项进行分数增减——前提是该记分项对该玩家“开放”。默认状态下,触发器记分项禁止玩家通过/trigger修改。当玩家成功使用/trigger改变某记分项分数后,该记分项便会回归到“禁止”状态。值得注意的是,/trigger可以在不允许作弊的情况下被非管理员的普通玩家使用。这可配合/tellraw命令实现玩家输入接口。
deathCount
死亡次数
当玩家死亡时,分数会自动增加。
playerKillCount
杀死玩家总量
当玩家杀死其他玩家时分数会自动增加。
totalKillCount
杀死生物总量
当玩家杀死其他生物(包括玩家)时分数会自动增加。
health
生命值
玩家的生命值和伤害吸收值之和。
xp
经验值
对应玩家拥有的经验值。
level
等级
对应玩家当前的经验等级。
food
饥饿值
代表玩家的饥饿值,取值范围0~20。玩家的foodLevel首次变化前可能会显示为0。
air
空气
代表潜的玩家剩余的空气,取值范围0~300。对应玩家的我的世界百科记分板记分项配图Air标签。
armor
护甲值
代表玩家拥有的护甲值,取值范围0~20。在玩家第一次更换盔甲前可能会显示为0。

复合准则

  1. 复合准则由多个组成部分构成,各部分之间使用点号(.)进行分隔。

  2. 例如,表示“玩家被僵尸杀死”的复合准则为 minecraft.killed_by:minecraft.zombie,当玩家遭遇这种情况时,分数才会增加。

  3. 所有基于复合准则的分数都可以通过特定命令进行修改。

  4. 任何统计信息的命名空间ID均可作为复合准则使用。

  5. 玩家自身的统计数据与记分板的分数存储是独立的。

  6. 当这些统计数据发生更新时,相关的记分项也会随之同步更新。

  7. 除此之外,还有以下复合准则:

准则基础名称 描述 次级准则数
teamkill.

次级准则是队伍的颜色。玩家杀死特定颜色的队伍成员时增加。

这些准则符合以下完整格式:teamkill.<队伍颜色>,其中<队伍颜色>接受以下列表中的颜色值:

接受的颜色名称 
black、dark_blue、dark_green、dark_aqua、dark_red、dark_purple、gold、gray、dark_gray、blue、green、aqua、red、light_purple、yellow和white
16
killedByTeam. 次级准则包括队伍的颜色。玩家被特定颜色队伍的成员杀死时增加。

这些准则符合以下完整格式:killedByTeam.<队伍颜色>,其中<队伍颜色>接受以下列表中的颜色值:

接受的颜色名称 
black、dark_blue、dark_green、dark_aqua、dark_red、dark_purple、gold、gray、dark_gray、blue、green、aqua、red、light_purple、yellow和white
16

基岩版

  1. 目前只支持dummy准则,因此分数仅能由命令修改。

显示位置

  1. 在Minecraft中,“显示位置”(Display Slot)提供了多种方式,用于展示单个或多个记分项的分数信息。

  2. 玩家可以通过使用“/scoreboard objectives setdisplay”命令,将特定的记分项和相应的分数在游戏中以特定的形式展示出来。

  3. 此外,若想修改记分项的显示名称,玩家可以使用“/scoreboard objectives modify displayname”命令,该功能仅适用于Java版。

  4. 对于Java版用户,使用“/scoreboard objectives modify rendertype”命令也可以变更记分项的渲染类型。

显示位置 描述 显示效果
list
列表
在玩家列表中以黄色文字在玩家名称后显示分数信息(默认为Tab ↹键),并不会显示记分项名称。[仅Java版]
在暂停页面的玩家列表显示分数信息。[仅基岩版]
我的世界百科记分板显示位置配图
list显示位置的显示效果,渲染类型为integer
我的世界百科记分板显示位置配图
list显示位置的显示效果,渲染类型为hearts
sidebar
侧边栏
在屏幕的右侧显示。在列表的最上方显示记分项的显示名称(display name),并显示玩家的高分榜。值得注意的是,即使玩家离线,如果在该记分项下存在一定分数也会在“侧边栏”中进行显示,并且没有痕迹的玩家也不会被显示。除此之外,以“#”开头的伪造的玩家名称在任何情况下都不会在侧边栏可见。
我的世界百科记分板显示位置配图
sidebar显示位置的显示效果
sidebar.team.<color>
侧边栏.队伍.<颜色>[仅Java版]
有16个的具体队伍的侧边栏显示形式。它们和标准的侧边栏同样操作,但只有指定颜色的队伍中的玩家可以看见(例如"sidebar.team.green"绿色队伍中的玩家可以看见)。有效的颜色是:"black", "dark_blue", "dark_green", "dark_aqua", "dark_red", "dark_purple", "gold", "gray", "dark_gray", "blue", "green", "aqua", "red", "light_purple", "yellow" 和 "white"。注意,该显示位置的优先级高于sidebar,故会占用原有的sidebar内容。
我的世界百科记分板显示位置配图
sidebar显示位置的显示效果
below_name[仅Java版]
belowname[仅基岩版]
名称下方
在玩家的名称牌之下,在他们的头之上,于记分项的显示名称(display name)前面显示分数。在10个方块以外、玩家潜行时隐藏。这一显示位置在单人游戏中不可见。
我的世界百科记分板显示位置配图
below_name显示位置的显示效果

队伍

  1. 队伍(Team)是记分板系统管理的一套机制,可以将玩家其他实体进行分组,形成联合的整体。

存储格式

  1. 记分板数据存储在<存档根目录>/data/scoreboard.dat文件中。
📑
🤔
⬆️