【Webブラウザ間チャット】

チャット機能

■通常チャット

機能はデモ環境と全く同じです。Webブラウザから送信されたコメントはマインクラフト上でタイトル表示されます。
もちろんマインクラフトからのチャットもWebブラウザへ送信されます。

■プライベートチャット

機能はデモ環境と全く同じですが、Websocketサーバー接続中にマルチプレイでウィスパー機能を使うと何故かワールドオーナー経由で送信される仕様になっているようですので、他の人が送信してもワールドオーナーが送信した事にされてしまいます。ですのでマルチプレイ時のウィスパー機能の使用は極力お控えください。

また、Websocket上のプライベート送信機能(<メッセージ>#<ユーザー名>)をマルチプレイ時に使うとマインクラフトのチャット機能が働いて他のマインクラフトユーザーに見えてしまいますので、あくまでWebブラウザユーザーとの通信手段だとお考えください。




サーバー側の実装

チャット機能では"PlayerMessage"というサブスクライブイベントを使用しています。
マインクラフトのチャット画面上で入力された内容が送信されるイベントです。

※サブスクライブイベントの処理内容については>> こちらでご紹介しています。
チャット入力時に発生するイベントデータの形式
{
    "body":
    {
        "message":<文字列(入力内容)>,
        "receiver":<文字列(受信者)>,
        "sender":<文字列(送信者)>,
        "type":<文字列("tell" or "say" or "chat")>
    },
    "header":
    {
        "eventName":"PlayerMessage",
        "messagePurpose":<文字列>,
        "version":<数字>
    }
}
                    

※フレームワーク上のコマンド部の実装内容については▶デモのコマンド仕様でご紹介しています。