マルチプレイなら『シン・VPS』がおすすめ!

【汎用性の塊】interactionでクリック検知が可能【マイクラ】

【サイズ変更も可】interactionでクリック検知が可能【マイクラ】

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

interactionについて知りたいマインクラフター
「summonコマンドで呼び出せるinteractionってどういう風に使うエンティティなのかな? 具体的な使い方とかより詳しい情報を教えて欲しいな」

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

本記事の内容
  • interactionでクリック検知が可能
  • interactionで指示できる項目を解説

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

なつめ

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

今回はinteractionについて深掘りしていきます。

interactionとはsummonコマンドなどで召喚できるエンティティの一つで、通常では視認することのできないものです。

なので、F3+Bで当たり判定を表示させて確認するのですが、このinteractionの具体的な使い方、設定できる項目というものを紹介していきます。

さっそく見ていきましょう!



interactionでクリック検知が可能

interactionを使うことで、クリックしたことを検知することができるようになります。
これは右クリック、左クリック問わずどちらでもOKです。

なので、「特定の場所に向かって右クリックすると○○が起きる」なんてことも可能です。
右クリックを検知する方法については以下の記事をどうぞ。

【徹底解説】右クリック検知にはinteractionが大事【マイクラ】

左クリックの場合はexecuteコマンドのon attackerやplayer_hurt_entityという進捗のトリガーを利用すれば同様のことができます。

クリックを検知できるとは言いましたが、デメリットとしてinteractionに対してクリック操作を行う必要があります。
なので、何もないところをクリックしても何も起こりません。

タネを知らないプレイヤーからしたら何もない場所をクリックしているように見えますが、interactionの存在を知っているプレイヤーからすると、何もないように見えてここにはinteractionがあるんだなと分かります。

というわけで、interactionを使うことでクリック検知ができるようになります。

interactionで指示できる項目を解説

ここからはinteractionで指示できる項目を3つ紹介します。
また、特別編としてattackとinteractionの2種類をまとめて最後に解説します。

それでは、見ていきましょう。

1:width

widthではinteractionの横幅を(奥行も含め)設定できます。
要するに、底面だけを見た際にどのくらいの大きさの正方形とするかを決められるということ。

特に指定をしない場合には、1マス×1マスとなります。
なので、以下のようにコマンドを打つと2マス×2マスのサイズになるわけですね。

/summon minecraft:interaction ~ ~ ~ {width:2}

正方形以外にはできないため、横5マスに対して奥行は3マスというような設定は出来ません。
この点だけ要注意です。

2:height

heightは高さに関する項目です。
widthの内容を理解できれば何ら問題なく理解できるはず。

というわけで、以下のコマンドを打てば高さ2マス分のinteractionを召喚出来ます。
特に指定しなかった場合は、width同様1になります。

/summon minecraft:interaction ~ ~ ~ {height:2}

プレイヤーや村人を覆い隠すような形ですね。

3:response

responseはtrueかfalseで指定する項目です。

この項目はデフォルトでfalseですが、trueにすると攻撃時にhit音が鳴るようになったりします。
要するに反応するようになるわけですね。

基本的にはfalseでinteractionが存在していることを知らせない方が良いですが、場合によってはtrueにしてinteractionの存在を示唆してもいいかもしれません。

4:attack & interaction (特別編)

最後に特別編というわけでattackとinteractionの解説です。
interactionというエンティティのinteractionという項目でややこしいですが、attackはinteracitonに対して最後に攻撃したプレイヤー、interactionはinteractionに対して左クリックしたプレイヤーのUUIDが保存される項目です。

なので、指定する必要はなく対応する操作をした時点で自動的に上書きしてくれます。

UUIDのほかにtimestampという、マイクラ内の時間で何時その操作がされたのかも記録されます。

ただしこれらの項目を活用する機会は少ないかと思います。
というのもexecuteコマンドでonという項目が追加されたことにより、上記の内容の対象となるプレイヤーが検知できるからです。

executeコマンドが上手くいかない際に、dataコマンドで確認するくらいですかね。

まとめ

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

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

今回使ったコマンド
  • 縦横が2マス分のinteractionを召喚するコマンド
/summon minecraft:interaction ~ ~ ~ {width:2}
  • 高さが2マス分のinteractionを召喚するコマンド
/summon minecraft:interaction ~ ~ ~ {height:2}
ポイント
  • interactionを使うことで、クリック検知をすることができる。
  • interactionはサイズを変更できるほか、操作時に反応するかどうかも設定できる。

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

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】