この記事では、Minecraft Java Edition(バージョン1.17.1)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
mobに変身してみたいマインクラフター
「コマンドを使って、mobに変身してみたい。どういうコマンドを使えばできるのかな? 変身したmobの攻撃とか特徴を使うこともできる?」
こんな疑問を解決します!
- 変身するには3つのコマンドを使う
- 操作しているのはあくまでプレイヤー
こんにちは! マインクラフターのなつめ(@natsume_717b)です。
マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ
今回はコマンドを使って、mobに変身する方法について解説していきます。
とはいえmobに変身するコマンドは存在しません。
なので、コマンドを駆使して変身しているように見せるコマンドをお教えします。
3つのコマンドで出来るほか、難しいコマンドを多用するわけでもないので、この記事を読めばほとんどの人が再現することが可能です。
また、mobに変身していない点についても深掘りしていますので、ぜひ最後まで読んでくれると嬉しいです。
それでは、さっそく見ていきましょう!
変身するには3つのコマンドを使う
コマンドを使ってmobに変身する場合は、3つのコマンドを使用する必要があります。
具体的には
- 自分を透明にするコマンド
- 動かないmobを召喚するコマンド
- 動かないmobを常に自分と同じ座標の位置にテレポートさせるコマンド
の3つが必要です。
というのも、何かに変身するコマンドというものが存在しないので、コマンドを組み合わせて変身したように思わせるしかないのです。
具体的なコマンドを見ていきましょう。
まずは自身を透明にするコマンドからです。
1:自分を透明にするコマンド
effect give 自分のプレイヤーID minecraft:invisibility 1 0 true
自分を透明にするには、上記のコマンドをリピートコマンドブロックに打ち込み、無条件、常時実行に設定します。
やっていることとしては、パーティクルが表示されない透明化のエフェクトを自分に対して1秒間付与しています。
リピートしているので、1秒が延々に続くといった感じです。
2:動かないmobを召喚するコマンド
/summon mobのID ~ ~ ~ {NoAI:1b,Silent:1,Tags:["metamorphose"]}
上記のコマンドを使うことで、動かないmobを召喚することができます。
(mobのIDを指定する必要があります。summonコマンドを打ちこんでいく際に候補として現れるので、そこから変身したいmobのIDを探してください)
また、silentの部分はそのmobが声を出すかどうかを指示しています。
声を出したい場合は0を指定すればOKです。
Tagsについては、簡単に言うと同じ種類のmobとの差別化を図るのに必要なものです。
特定のタグを持っているmobだけを対象にしたい場合などに使いますね。
今回は後述するtpコマンドにmetamorphoseというタグを持っているmobだけが対象になるように指示しています。
変身を意味するmetamorphoseという単語をそのままタグの名称にしましたが、分かりにくい場合は”hensin”などとローマ字で指定しても問題ありません。
もしブレイズに変身したいという場合は
/summon minecraft:blaze ~ ~ ~ {NoAI:1b,Silent:1,Tags:["metamorphose"]}
といった感じで打ち込めば、mobの意思で動かない・声を発さないブレイズが召喚出来ます。
召喚する座標に関しては、正直どこでも大丈夫です。
ただし、近くに召喚した方が何かと都合が良いので、上記のコマンドではコマンドの実行場所と同じ座標に召喚されるよう「~」を使っています。
3:動かないmobを常に自分と同じ座標の位置にテレポートさせるコマンド
tp @e[type=召喚したmobのID,tag=metamorphose] 自分のプレイヤーID
mobに変身したように見せるために、召喚したmobを自分の場所に常にテレポートさせます。
そのためのコマンドが上記のコマンドです。
リピートコマンドブロックに無条件、常時実行を設定しましょう。
このコマンドブロックが機能し続けている限り、召喚したmobは自分の元にずっとついてくることとなります。
ただ、1つ欠点があります。
それは当たり判定の都合で常に召喚したmobに押されてしまうことです。
要するに移動するためのキーを押していなくとも移動してしまうということですね。
これを回避する方法としては
- 少しずれた位置にmobをテレポートさせる
- teamコマンドを駆使して自身の当たり判定を消す
が挙げられます。
2のteamコマンドを使う方法は説明すると長くなってしまうので、別記事にて解説させていただきます。
1に関しては簡単なので、ここでお話しようと思います。
といっても、上記で紹介したtpコマンドをいじるだけです。
実際には以下のようなコマンドに変更します。
execute as @e[type=召喚したmobのID,tag=metamorphose] at 自分のプレイヤーID run tp @s ^ ^ ^1
実行されているのはtpコマンドで変わりないのですが、executeで条件を幾つか付与しています。
まず”as @e[type=召喚したmobのID,tag=metamorphose]”でコマンドの実行者を召喚したmobがコマンドを実行していることにします。
そして、”at 自分のプレイヤーID”の部分でコマンドの実行場所を自分のいる場所を指定しています。
あとはtpコマンドを読み解くだけです。
”tp @s ^ ^ ^1”とありますので、コマンドの実行者(@s)をコマンドが実行されている場所の1マス前にテレポートさせるとなっています。
「^」は「~」と同様に、コマンドが実行されている場所と同じ意味を示します。
ですが「~」はxyzを基準としているのに対して、「^」はその場からの左右高さ前後を基準にしています。なので、今回の場合は「^」を使う必要があります。
コマンドブロックの設定などは変わらないので、コマンドの内容だけ変更すればOKです。
というわけで、少し長くなってしまいましたがコマンドを使ってmobに変身する方法について解説しました。
3つのコマンドを使えば、monに変身することができますよ!
操作しているのはあくまでプレイヤー
さて、コマンドを駆使してmobに変身することができました。
ただ初めに言ったようにmobに変身するコマンドは存在せず、疑似的に変身したように見せかけただけです。
なので、そのmob特有の行動や攻撃を行うことはできません。
操作しているのはプレイヤーそのもので、mobを操作しているわけではありません。
なので、完全にmobに変身したいという場合は「マイクラ 変身Mod」などで検索してModを導入することをおすすめします。
コマンドを駆使すれば、先ほど紹介したmobに変身するコマンドと合わせて攻撃方法を再現するといいたこともできなくはありませんが、全てを解説するのは気が遠くなるのでご了承ください。
解決策として挙げられるのは、似たようなことをするコマンドを調べることです。
ブレイズの場合は炎を飛ばせればよいので、「マイクラ 炎の魔法」といった感じで調べると、実現したいことに似ているコマンドを解説してくれているサイトに辿り着ける可能性はあります。
というわけで、コマンドでは完全に変身出来ているわけではないことをご注意ください。
一応、コマンドに関しては筆者も相談に乗れるので、どうしてもやりたいことができないという場合はTwitterのDMか何かにご連絡をくれれば相談だけなら乗ります。
まとめ
というわけで、今回のまとめです。
今回使ったコマンドはこちら。
- 自分を透明にするコマンド
effect give 自分のプレイヤーID minecraft:invisibility 1 0 true
- 動かないmobを召喚するコマンド
/summon mobのID ~ ~ ~ {NoAI:1b,Silent:1,Tags:["metamorphose"]}
- 召喚したmobを自分のいる場所にテレポートさせるコマンド
tp @e[type=召喚したmobのID,tag=metamorphose] 自分のプレイヤーID
- mobに変身しているわけではないので、攻撃方法やmobの特徴を受け継ぐといったことはできません。
コマンドを使う場合、別でコマンドを組んでそういったものを再現する必要があります。
この記事は以上になります。