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

エンドポータルをコマンドで用意したいマインクラフター
「目の前にエンドポータルを出現させるにはどうすればいいの? エンダーアイがハマっているかどうかで、コマンドを起動させることってできるのかな?」
こんな疑問を解決します!
- fillコマンドを駆使してエンドポータルを作る
- executeコマンドでエンダーアイがハマっているかを感知する
こんにちは! マインクラフターのなつめ(@natsume_717b)です。

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ
今回はエンドポータルをコマンドで出現させる方法や注意点などを解説していきます。
またエンドポータルに関するコマンドということで、エンドポータルを構成しているエンドポータルフレームに、エンダーアイがハメられているかどうかを感知する方法についても解説しています。
もしもエンドポータルをコマンドで探したいという方は、【簡単】locateコマンドの使い方【建築物のIDを入力するだけ】を参考にしてstrongholdを指定、つまりは要塞を指定して探してみてください。
それでは、さっそく見ていきましょう!
fillコマンドを駆使してエンドポータルを作る

エンドポータルを出現させるためにエンドポータルフレームを設置するには、fillコマンドを駆使していきます。
ブロックを設置するコマンドとしてはsetblockコマンドも存在しますが、一定範囲に敷き詰めることのできるfillコマンドの方が使用するコマンドの数が減るので、fillコマンドを使うべきです。
具体的には、エンドポータルフレームを辺ごとに設置します。
東西南北それぞれ3マス設置すれば、見慣れたエンドポータルになりますね。

ただし、エンドポータルフレームを設置する際に正しい向きを指定しなくてはなりません。
というのもエンドポータルフレームの向きが間違っていると、エンダーアイをはめたとしてもエンドへの道が開きません。
なので、それぞれ以下のように向きを指定しましょう。
自分が向いている方角 | エンドポータルフレームの向き |
---|---|
north(北) | south(南) |
south(南) | north(北) |
west(西) | east(東) |
east(東) | west(西) |
簡単に言えば、自分が向いている方角とは逆の方角をエンドポータルフレームの設置時に指定する必要があるということですね。
というわけで、実際のコマンドです。
今回は向いている方向や設置したい座標によって大きく異なってしまうので、言語化したコマンドで紹介します。
/fill 座標1 座標2 minecraft:end_portal_frame[facing=エンドポータルフレームの向きを方角で指定]
座標1と座標2は上記の画像でいう、四角で囲まれた両端を指定すればOKです。
そして、”facing=”の後ろには方角を示す英単語を記述していきます。
自分が北の方角を向いている場合は、反対の方角である南、southを入力するわけですね。
これは先ほど記載した表を参考にしてください。
座標と方角をそれぞれ変更した上記のコマンドを4つ使って囲むように設置出来れば、エンドポータルの完成です。
4つのコマンドを別々で機能させるのは面倒なので、チェーンコマンドブロックで繋ぐのが良いですね。
1辺を埋めた後に別の辺を埋めていくというのを繰り返すことになりますので、4辺すべて埋まるようにできます。
また、ネザーゲートと違いサイズは固定なので、エンドポータルフレームで囲っている内部は3×3の空間になります。
というわけで、エンドポータルを出現させるにはfillコマンドを駆使して4辺設置する必要があります。
executeコマンドでエンダーアイがハマっているかを感知する

エンドポータルを使う場合、実はエンダーアイがハマっているかどうかを判定することもできます。
というのも、executeコマンドのif blockを使うことでエンダーアイがハマっているエンドポータルフレームがあるかどうかを判定できるからです。
例えば、座標xyz10の地点にエンドポータルフレームがあり、そのエンドポータルフレームにエンダーアイがハマっている場合にエフェクトを付与するということを実行するとします。
/execute if block 10 10 10 minecraft:end_portal_frame[eye=true] run effect give @p minecraft:strength 100 0 true
if block 10 10 10 minecraft:end_portal_frame[eye=true]で、座標xyz10にあるエンドポータルフレームにエンダーアイが入っていた場合にコマンドを実行することができるようになっています。
なので、あらかじめ座標xyz10の地点にエンドポータルフレームを設置しておいて、プレイヤーにエンダーアイをはめさせることでコマンドを実行させることが可能です。
今回の場合は、effectコマンドで攻撃力上昇を付与させています。
run以降に記載されているeffectコマンドについては【基礎解説】effectコマンドでエフェクトを扱える【マイクラ】を参考にしてください。
上記のexecuteコマンドはコマンドブロックに入力して、リピート、無条件、常時実行に設定。
常にエンドポータルにエンダーアイがセットされているかを監視する必要があります。
ただし注意点として、アドベンチャーモードでこの仕組みを使用する場合は、エンダーアイそのものにCanPlaceOn、つまりはエンドポータルフレームに設置できるように設定しておかなければなりません。
CanPlaceOnについては、【Java版】CanPlaceOnで設置可能なブロックを設定しよう!にて解説しているので、実際にやってみようと思った方は一読しておくと良いかもしれません。
というわけで、エンダーアイがハマっているかどうかを感知する方法について説明しました。
参考になれば幸いです。
まとめ
というわけで、今回のまとめです。
今回使ったコマンドはこちら。
- エンドポータルを設置するために必要なコマンド
(方角や座標を変更して計4回起動する必要あり)
/fill 座標1 座標2 minecraft:end_portal_frame[facing=エンドポータルフレームの向きを方角で指定]
- エンドポータルフレームにエンダーアイがハマっていることを感知するコマンド
execute if block 10 10 10 minecraft:end_portal_frame[eye=true] run effect give @p minecraft:strength 100 0 true
- エンドポータルとしてエンドポータルフレームを設置する場合は、向きが重要です。
(向きが合っていないと、エンドの道が開かれません)
この記事は以上になります。