看板クリックでコマンドを実行するにはdataコマンド【マイクラ】

看板クリックでコマンドを実行するにはdataコマンド【マイクラ】

この記事では、Minecraft Java Edition(バージョン1.18)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

看板をクリックしてコマンドが実行されているのをやってみたいマインクラフター
「看板をクリックしてコマンドが実行されているやつってどうやるのかな? どんなコマンドでも実行できる? 1つのコマンドしか実行できない?」

こんな疑問を解決します!

本記事の内容
  • 看板クリックでコマンドを実行するにはdataコマンド
  • どの種類のコマンドでも実行できるけど、基本4つまで

こんにちは! マインクラフターのなつめ(@natsume_717b)です。

なつめ

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ

この記事では看板をクリックすることでコマンドが実行されるようにする方法について解説していきます。

配布マップなどでよく見かけるやつですね。
この記事を読めば、それと同じことができるようになります!

まず初めに、看板をクリックすることでコマンドが実行されるようにするコマンドを紹介。
その後、どういったコマンドが実行できるのか、いくつまでのコマンドを実行できるのかということについて深掘りしていきます。

それでは、さっそく見ていきましょう!



看板クリックでコマンドを実行するにはdataコマンド

看板をクリックすることでコマンドを実行するには、看板そのものにクリックされたことを感知してコマンドが実行されるように仕組んでおく必要があります。

そのために使うコマンドがdataコマンドですね。
エンティティなどのデータを確認したり、書き換えたりするのに使用するコマンドです。

実際に使用するコマンドはこちら。

/data merge block 看板がある座標 {Text1:'{"text":"文章1","clickEvent":{"action":"run_command","value":"give @p minecraft:diamond"}}'}

このコマンドを解説すると、指定した座標に存在しているものに対してデータを書き加えるものです。
今回の場合は、{Text1:'{“text”:”文章1″,”clickEvent”:{“action”:”run_command”,”value”:”give @p minecraft:diamond”}}’}を書き加えているわけですね。

この追加した内容を理解できれば、OKです。
というわけで詳しく見ていきましょう。

Text1

このText1の部分はどの行に対して指示を送っているのかを決めています。
1ならば1行目、2なら2行目といった感じですね。

クリックしてコマンドを実行させる際には、どの行をクリックしようとその看板に設定されている全てのコマンドを実行しますので、今回はとりあえず1を指定しました。

看板に設定されているコマンドは1行目から順に処理されます。
優先させたいコマンドを上の行に設定するようにしましょう。

“text”:”文章1″

次に”text”:”文章1″の部分です。
この部分は看板に表示させる文字を設定する箇所ですので、表示させたい文字を記入していきます。

何も表示させたくない行や看板ならば、文章1の部分を消して”(ダブルクォーテーション)で何も囲んでいない状態にします。
表示させるものがないからといってこの項目を消してしまうと、後述するclickEventの部分に適切なコマンドを打ちこんだとしても、コマンドが実行されなくなってしまいます。

上記で紹介したコマンドは上書きするコマンドなので、既に文字が記入されていた場合それらの文字を上書きしてしまう点にも注意です。

clickEvent

clickEventはクリックした際の動作を決定するものです。
今回はコマンドの実行をする方法についてだけを解説しますが、他にはURLを開かせることなども可能です。

詳しく見ていきます。

“action”:”run_command”

この項目はクリックした際の挙動を決めます。
要するに、clickEventの具体的な動作を支持するわけですね。

今回は“action”:”run_command”と打ちこんでコマンドが実行されるよう指示しています。

“value”:”give @p minecraft:diamond”

コマンドを実行させるよという指示を書き終えると、ようやくどういったコマンドを実行させるのかを指定していきます。

valueが「何のコマンドを使うの?」と内容を聞き出しており、その後に続く”give @p minecraft:diamond”が今回実行されるコマンドです。

難しいコマンドを紹介する意味もないので、シンプルにダイヤモンドを1つ入手するコマンドにしました。

この部分に実行させたいコマンドを入力すればOKです。
また、コマンドブロック同様に文頭に/(スラッシュ)を入力してもしなくても、どちらでも問題ありません。


というわけで、看板をクリックした際にコマンドを実行されるように変更するコマンドを紹介しました。

どの種類のコマンドでも実行できるけど、基本4つまで

さて、看板をクリックすることでコマンドを実行できるようになりました。
そこでこんな疑問が浮かぶ方もいるはず。

  1. どんなコマンドでも実行できるのか?
  2. 最大で幾つのコマンドを実行できるのか?

この2点にお答えすると「正しく入力されているコマンドならばどんなコマンドでも実行されるが、4つのコマンドまでしか実行できない」となります。

どんな種類のコマンドでも実行できるというのはすぐに理解していただけるかと思いますが、4つのコマンドまでしか実行できないというのは、看板の行が関係しています。

初めに紹介したコマンドをしっかりと見ていくと、1行目の部分にダイヤモンドを付与するコマンドが内蔵されています。
なので、1行につき1つのコマンドしか書き込むことができません。

看板は4行がマックスなので、4つまでのコマンドしか実行できないというわけですね。

ただし、この4つという制限を無視することも可能です。
というのも、実行するコマンドをfunctionコマンドにすればmcfunctionファイルに書き込まれているコマンドをすべて実行できるからです。

functionコマンドについては以下の記事をどうぞ。
慣れるまでは厄介なコマンドだと筆者は考えていますが、扱えるようになった際にはかなり便利です。

コマンドをまとめて負荷軽減!functionコマンドの準備とやり方解説!【Java版】

なので、functionコマンドを実行させるようにすれば、看板のクリックで実質際限なしにコマンドを実行することができると言えます。

上手く使っていきましょう!

まとめ

というわけで、今回のまとめです。

今回使ったコマンドはこちら。

今回使ったコマンド
  • 看板に対してクリックすると、ダイヤモンドを1つ付与させるようにするコマンド
/data merge block 看板がある座標 {Text1:'{"text":"文章1","clickEvent":{"action":"run_command","value":"give @p minecraft:diamond"}}'}
ポイント
  • value部分に実行させるコマンドを入力します。
  • 正しくコマンドが入力されていれば、どの種類のコマンドでも実行できます。
  • 1行につき1つのコマンドを設定できますが、functionコマンドを使うことでその際限をなくすこととほぼ同じことができます。

看板に関するほかの記事はこちらをチェック!

【看板】太字にするにはdataコマンドで設定する【マイクラ】

この記事は以上になります。

関連記事