玩生存服或者小型联机的时候,很多人都会问一个问题:能不能在屏幕边上,直接看到当前有多少玩家在线?
答案是:能,而且不复杂,只要一个计分板配上命令方块就够了。

下面这套思路适合已经会用基础命令、知道怎么放命令方块的玩家。如果你完全没接触过命令,建议先熟悉一下创造模式里命令方块的用法,再上手。


先搞一个“在线人数”的计分板

计分板就是核心,把在线人数当成一个“分数”来记录。

在聊天栏输入(需要开启作弊权限):

/scoreboard objectives add cout dummy 在线人数

这句话的意思是:

  • 新建一个名叫 cout 的计分项目
  • 类型是 dummy(需要命令手动修改的那种)
  • 展示名称写成“在线人数”(这是你在屏幕上看到的名字)

把计分板挂到右侧显示

计分板有了,还得让它露个脸。继续输入:

/scoreboard objectives setdisplay sidebar cout

这样一来,你屏幕右边就会出现一个侧边栏,上面写着“在线人数”,下面是各“玩家”的分数。
这里先不管显示的内容对不对,先把框架搭起来。


创建一个虚拟“玩家”来显示人数

计分板里的“玩家”不一定是真人,也可以是你自己定义的一个名字,用来充当显示项。

我们来搞一个叫“在线人数”的虚拟玩家,让它专门负责显示当前玩家数量:

/scoreboard players set 在线人数 cout 0

这句命令的作用是:在计分板 cout 里,给名为“在线人数”的这个“玩家”设置分数为 0。
之后我们就一直改这个分数,它就会变成一个动态的在线人数显示栏。


用命令方块让人数实时更新

到这一步,基础结构已经但在线人数还没真正“动起来”。
思路是:

  1. 先把“在线人数”的分数清零
  2. 再对所有在线玩家执行“加 1”操作
  3. 每一个玩家都+1一遍,最后这个分数就等于当前在线玩家数量

下面是一个常用的做法,需要两个命令方块:

第一个命令方块(始终执行 / 循环模式):

scoreboard players set 在线人数 cout 0

作用:每次循环先把“在线人数”归零。

第二个命令方块(紧跟在第一个后面,同样设置为始终执行 / 循环模式,或者用红石连起来):

我的世界怎么显示在线人数?用计分板轻松搞定

execute @a ~ ~ ~ scoreboard players add 在线人数 cout 1

解释一下:

  • @a 代表所有在线玩家
  • 对每一个玩家,都执行一次 scoreboard players add 在线人数 cout 1
  • 也就是说在线 5 个人,就会执行 5 次加 1,最后“在线人数”的分数就变成 5

只要这两个命令方块保持开启,计分板上的数字就会随着玩家上下线自动更新。


简单回顾一下操作流程

如果你懒得回翻,这里给你捋一遍顺序(记得确保命令拼写别出错):

  1. 新建计分板
    /scoreboard objectives add cout dummy 在线人数

  2. 显示在右侧
    /scoreboard objectives setdisplay sidebar cout

  3. 在命令方块 A 里循环清零
    scoreboard players set 在线人数 cout 0

  4. 在命令方块 B 里循环统计在线玩家
    execute @a ~ ~ ~ scoreboard players add 在线人数 cout 1

命令方块模式建议都设成:

  • 类型:循环
  • 条件:无条件
  • 红石:始终活动

这样世界一加载,就会自动帮你统计在线人数,右侧的“在线人数”就等于当前在线玩家数。


最后说一句

这套玩法适合做生存服务器面板、小游戏大厅,或者你单纯想看看今天谁来陪你挖矿。
命令本身不难,多试几次就顺手了,出错大多是拼写和空格问题,慢一点敲就行。

我的世界怎么显示在线人数?用计分板轻松搞定

如果你在其他版本(比如某些插件服、基岩版命令有改动)的环境里遇到不兼容,优先查一下自己用的版本命令格式,有区别的话按版本文档调整一下就行。