第十五章 發(fā)送消息
在Minecraft,如何與玩家交流,那肯定是在聊天框打字了。
但是如果得像服務器里“自動化”,那么命令方塊肯定就派上用場了。
之前說過命令方塊有三種文本輸出形式。第一種是聊天欄顯示運行結果;第二種是命令方塊界面顯示運行結果;第三種是給命令方塊取名。
但前兩種都是只能管理員查看,第三種又太短,且不美觀。這時候我們就需要可以發(fā)送消息的指令。在Minecraft中,可以發(fā)送消息的指令有很多種,但功能都差不多,接下來就來一一講一下,這里先全部列出來:
/say <消息>
/tell
/tellraw
/w
/me
/msg
/teammsg
/tm(?)
首先第一個是/say。say可以發(fā)送廣播消息。發(fā)送消息的格式長這樣:
[XXX]XXXXXXXX
我們再來拿用聊天欄發(fā)出的信息的話來對比一下:
<XXX>XXXXXXX
可以發(fā)現(xiàn),除了名字的顯示形式是不一樣之外,其他都一樣。
/say
作用:廣播
需要權限等級:Java-2,基巖-1
格式:
/say <消息內容>
顯示信息格式:
[發(fā)出人的昵稱]“內容”
/say這個指令很簡單,但又有些那么不簡單。
/say的消息內容不止可以寫消息,還可以包括目標選擇器和玩家名!
比如:
/say @p
就可以廣播最靠近命令執(zhí)行地點的玩家。
這功能的適用性非常廣,你可以在你的RPG地圖里使用/say 目標選擇器來讓NPC說出玩家名,也可以在服務器中檢測持有違禁品的玩家并將其用戶名廣播。
普通玩家無法使用/say,但這些玩家干嘛要用/say,好好的在聊天欄內發(fā)送消息不好嗎?
但Mojang就這么神奇,也向普通玩家添加了一條廣播指令,它就是/me。
/me
作用:廣播(實際上Mojang官方本意是顯示一條關于自己正在做什么的信息)
需要權限等級:0
格式:
/me [消息內容(動作)]
顯示信息格式:
* Username 消息內容
?。║sername即玩家名,這兒如果使用漢字空格會沒掉)
和say一樣,me也可以在消息中參雜目標選擇器和玩家名,只不過這功能暫且只有基巖版有,Java版還未添加。me如果不填消息只會限速玩家昵稱。
廣播的指令暫且只有這么多。但一個游戲只有世界聊天室那肯定是不行的,所以Mojang還添加了一堆用于私信的指令:
/tell
/w
/msg
作用:告訴一個或多個玩家消息。
需要權限等級:0(目標選擇器只能使用@s和玩家名,其他類型選擇器需要2級[Java]或1級[基巖]權限)
格式:
/tell <收信者:目標選擇器><內容>
/w <收信者:目標選擇器><內容>
/msg <收信者:目標選擇器><內容>
這些指令都很簡單,也沒有什么好講的,只是需要注意權限等級不夠目標選擇器不能使用除@s以外選擇器。
/msg有個變種,這個變種是在Java1.14版本加入的,僅Java版有:/teammsg
/teammsg即在隊伍頻道發(fā)送消息,可以簡寫為/tm(?)、
/teammsg、/tm
作用:隊伍頻道發(fā)送消息
需要權限等級:0
格式:
/teammsg <消息>
/tm <消息>
顯示信息格式:
->[隊伍名]<玩家名>消息內容
關于隊伍是個什么東西,講記分板時會講到。