Discordサーバー「マイクラ脱出マップ大全【仮運営】」を開設しました!

エンダーアイを嵌めてコマンド実行!脱出マップに使えます【マイクラ】

エンダーアイを嵌めてコマンド実行!脱出マップに使えます【マイクラ】

1. エンダーアイの有無でコマンドを実行する

コマンドを使えば、エンダーポータルフレームにエンダーアイが嵌っているかどうかでコマンドの実行するかどうかを決めることが可能です。

具体的には、エンドポータルフレームに存在しているeyeの項目がtrueならばエンダーアイが埋まっており、エンダーアイがない場合はfalseを示します。
なので、この差をコマンドで指示してあげれば、エンダーアイの有無によってコマンドを実行することが可能です。

実際のコマンドで見てみましょう。
以下は座標XYZが10の地点にあるエンドポータルフレームにエンダーアイが嵌っている場合に、ジャンプ力上昇のエフェクトが付与されるものです。

/execute if block 10 10 10 minecraft:end_portal_frame[eye=true] run effect give @a minecraft:jump_boost 1 0 true

executeコマンドによって、座標XYZにエンダーアイが嵌っているエンドポータルフレームがないとコマンドが実行されないようになっています。
if block 10 10 10 minecraft:end_portal_frame[eye=true]の部分がそうですね。

そして、実行されるコマンドはrun以降に書かれており1秒間だけジャンプ力が上昇するようにしています。
上記のコマンドはエンダーアイが嵌められたかどうかを常に監視する必要があるため、リピートし常時実行しておくものです。そのため、先ほど説明したようにエンダーアイが嵌っているエンドポータルフレームがあり続ける限り、延々と1秒で消えるエフェクトが付与されます。

実行するコマンドやif blockの座標を変更すれば、様々な状況に対応できます。
また、eye=trueではなくeye=falseとすればエンダーアイが嵌っていない状態の時にだけコマンドを実行し続けることも可能です。
デメリットとなるコマンドを実行しておき、エンダーアイを入手して嵌めればそのデメリットが無くなるなんて風にしてみても面白いですね。

1-1.アドベンチャーモードでは設置可能を指示しなければならない

エンダーアイをエンドポータルフレームに嵌める場合、アドベンチャーモードでは通常出来ません。
これにはアドベンチャーモードではブロックの設置ができない仕様が関わっています。

なので、過去に記事したように設置可能なブロックを指示してあげる必要があります。

具体的なコマンドはこちら。

/give @p minecraft:ender_eye{CanPlaceOn:["minecraft:end_portal_frame"]} 1

エンドポータルフレームに嵌めることが明らかなので、エンドポータルフレームに設置できるよう「設置可能」を設定してあげればOKです。

また、アドベンチャーモードではエンダーアイを投げることはできないので、投げて壊れる心配はしなくて大丈夫です。

まとめ

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

  1. エンドポータルフレームにエンダーアイがハマっているかどうかの検知はexecuteコマンドで行うことができる。
  2. 脱出マップでエンダーアイをエンドポータルフレームに嵌めさせる場合は、設置可能なブロックを指示したエンダーアイを用意しなければならない。

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