跳转到内容

第十五章 发送消息

2020年1月5日 19:54 1032字
  在 Minecraft,如何与玩家交流,那肯定是在聊天框打字了。
  但是如果得像服务器里“自动化”,那么命令方块肯定就派上用场了。
  之前说过命令方块有三种文本输出形式。第一种是聊天栏显示运行结果;第二种是命令方块界面显示运行结果;第三种是给命令方块取名。
  但前两种都是只能管理员查看,第三种又太短,且不美观。这时候我们就需要可以发送消息的指令。在 Minecraft 中,可以发送消息的指令有很多种,但功能都差不多,接下来就来一一讲一下,这里先全部列出来:
  • /say <消息>
  • /tell
  • /tellraw
  • /w
  • /me
  • /msg
  • /teammsg
  • /tm(?)
  首先第一个是 /say。say 可以发送广播消息。发送消息的格式长这样:

[XXX]XXXXXXXX

  我们再来拿用聊天栏发出的信息的话来对比一下:

<XXX>XXXXXXX

  可以发现,除了名字的显示形式是不一样之外,其他都一样。
  /say
  作用
:广播
  需要权限等级:Java-2,基岩-1
  格式:
/say <消息内容>
  显示信息格式:
[发出人的昵称]“内容”

  /say 这个指令很简单,但又有些那么不简单。
  /say 的消息内容不止可以写消息,还可以包括目标选择器和玩家名!
  比如:
/say @p
  就可以广播最靠近命令执行地点的玩家。
  这功能的适用性非常广,你可以在你的 RPG 地图里使用 /say 目标选择器来让 NPC 说出玩家名,也可以在服务器中检测持有违禁品的玩家并将其用户名广播。
  普通玩家无法使用 /say,但这些玩家干嘛要用 /say,好好的在聊天栏内发送消息不好吗?
  但 Mojang 就这么神奇,也向普通玩家添加了一条广播指令,它就是 /me。
  /me
  作用
:广播(实际上 Mojang 官方本意是显示一条关于自己正在做什么的信息)
  需要权限等级:0
  格式:
/me [消息内容(动作)]
  显示信息格式:
* 玩家名 消息内容

  和 say 一样,me 也可以在消息中参杂目标选择器和玩家名,只不过这功能暂且只有基岩版有,Java 版还未添加。me 如果不填消息只会限速玩家昵称。
  广播的指令暂且只有这么多。但一个游戏只有世界聊天室那肯定是不行的,所以 Mojang 还添加了一堆用于私信的指令:
  • /tell
  • /w
  • /msg
  作用:告诉一个或多个玩家消息。
  需要权限等级:0(目标选择器只能使用 @s 和玩家名,其他类型选择器需要 2 级 [Java] 或 1 级[基岩]权限)
  格式:
  • /tell <收信者:目标选择器> <内容>
  • /w <收信者:目标选择器> <内容>
  • /msg <收信者:目标选择器> <内容>
  这些指令都很简单,也没有什么好讲的,只是需要注意权限等级不够目标选择器不能使用除 @s 以外选择器。
  /msg 有个变种,这个变种是在 Java1.14 版本加入的,仅 Java 版有:/teammsg
  /teammsg 即在队伍频道发送消息,可以简写为/tm(?)、
  /teammsg、/tm
  作用
:队伍频道发送消息
  需要权限等级:0
  格式:
  • /teammsg <消息>
  • /tm <消息>
  显示信息格式:

->[队伍名]<玩家名>消息内容

  关于队伍是个什么东西,讲记分板时会讲到。