この記事では、Minecraft Java Edition(バージョン1.19.4)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
interactionについて知りたいマインクラフター
「summonコマンドで呼び出せるinteractionってどういう風に使うエンティティなのかな? 具体的な使い方とかより詳しい情報を教えて欲しいな」
こんな疑問を解決します!
- interactionでクリック検知が可能
- interactionで指示できる項目を解説
こんにちは! マインクラフターのなつめ(@natsume_717b)です。
マイクラ歴は5年程で、最近は脱出マップやミニゲームを制作しています!
→ダウンロードページ
今回はinteractionについて深掘りしていきます。
interactionとはsummonコマンドなどで召喚できるエンティティの一つで、通常では視認することのできないものです。
なので、F3+Bで当たり判定を表示させて確認するのですが、このinteractionの具体的な使い方、設定できる項目というものを紹介していきます。
さっそく見ていきましょう!
interactionでクリック検知が可能
interactionを使うことで、クリックしたことを検知することができるようになります。
これは右クリック、左クリック問わずどちらでもOKです。
なので、「特定の場所に向かって右クリックすると○○が起きる」なんてことも可能です。
右クリックを検知する方法については以下の記事をどうぞ。
左クリックの場合は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はサイズを変更できるほか、操作時に反応するかどうかも設定できる。
この記事は以上になります。