第十五章 发送消息
在Minecraft,如何与玩家交流,那肯定是在聊天框打字了。
但是如果得像服务器里“自动化”,那么命令方块肯定就派上用场了。
之前说过命令方块有三种文本输出形式。第一种是聊天栏显示运行结果;第二种是命令方块界面显示运行结果;第三种是给命令方块取名。
但前两种都是只能管理员查看,第三种又太短,且不美观。这时候我们就需要可以发送消息的指令。在Minecraft中,可以发送消息的指令有很多种,但功能都差不多,接下来就来一一讲一下,这里先全部列出来:
/say <消息>
/tell
/tellraw
/w
/me
/msg
/teammsg
/tm(?)
首先第一个是/say。say可以发送广播消息。发送消息的格式长这样:
[XXX]XXXXXXXX
我们再来拿用聊天栏发出的信息的话来对比一下:
<XXX>XXXXXXX
可以发现,除了名字的显示形式是不一样之外,其他都一样。
/say
作用:广播
需要权限等级:Java-2,基岩-1
格式:
/say <消息内容>
显示信息格式:
[发出人的昵称]“内容”
/say这个指令很简单,但又有些那么不简单。
/say的消息内容不止可以写消息,还可以包括目标选择器和玩家名!
比如:
/say @br /
就可以广播最靠近命令执行地点的玩家。
这功能的适用性非常广,你可以在你的RPG地图里使用/say 目标选择器来让NPC说出玩家名,也可以在服务器中检测持有违禁品的玩家并将其用户名广播。
普通玩家无法使用/say,但这些玩家干嘛要用/say,好好的在聊天栏内发送消息不好吗?
但Mojang就这么神奇,也向普通玩家添加了一条广播指令,它就是/me。
/me
作用:广播(实际上Mojang官方本意是显示一条关于自己正在做什么的信息)
需要权限等级:0
格式:
/me [消息内容(动作)]
显示信息格式:
* Username 消息内容
(Username即玩家名,这儿如果使用汉字空格会没掉)
和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 <消息>
显示信息格式:
->[队伍名]<玩家名>消息内容
关于队伍是个什么东西,讲记分板时会讲到。