【統合版】ScriptAPIでアドオンを作ろう #2 チャット装飾

スポンサーリンク

事前説明

こんにちは、さば2号です。
ScriptAPIを使った簡単なアドオンの作り方を解説していきます。

今回はプログラムのみの解説です。
事前準備、アドオンフォルダの作成、manifestの書き方は前回の解説をご覧ください。
【統合版】ScriptAPIでアドオンを作ってみよう #1 ダメージメッセージ

注意事項

・この記事は2024/03/22時点のものです。
・投稿者は素人です。間違えることがあります。

作成するアドオン

今回はチャットの見た目を変更するアドオンを作ります。

通常のチャット
<Steve> 今日はいい天気ですね

変更後のチャット
Steve >> 今日はいい天気ですね
OP権限プレイヤーの場合
[OP] Steve >> 今日はいい天気ですね

見た目を変更し、さらにOP権限を持っている場合は「[OP]」と表示されるようにします。

プログラム

次のコードをmain.jsにコピペしてください。

プログラムの流れ
① beforeEvents.chatSendでチャットのイベントを受け取る。

② チャットの送信をキャンセル。

③ world.sendMessage()で新しいチャットを再送信。

リファレンス
minecraft/server.ChatSendBeforeEvent Class
minecraft/server.World Class #sendmessage

// チャットを送信したときに起動するイベント
world.beforeEvents.chatSend.subscribe(ev => {
    // チャットの送信をキャンセル
    ev.cancel = true;
    // 定数「player」に送信者を代入
    const player = ev.sender;

    if (player.isOp()) { // 送信者がOP権限を持っている場合

        // world.SendMessage() - 全てのプレイヤーにメッセージを送信する
        // ev.message - 送信されるメッセージ
        world.sendMessage(`[§eOP§f] ${player.name}§r >> ${ev.message}`);

    } else { // 持っていない場合
        world.sendMessage(`${player.name}§r >> ${ev.message}`);
    }
});

完成

テストしてみましょう。
scriptAPIのプログラムは、「/reload」コマンドを使うことでワールド内で更新ができます。

チャットが次のような見た目になったら成功です。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-03-23-002205.jpg

参考URL

公式リファレンス
minecraft/server Module | Microsoft Learn

ディスコードサーバー
Script API 開発初心者コミュニティ

参考にしたサイト
マイクラの泉

備忘録ブログ
さば2号のgametest(scriptAPI)備忘録

※投稿記事に含まれるファイルやリンクにより発生した被害についてクラフターズコロニーは責任を取りません
投稿通報

コメント

コメント通報