マイクラのコマンドが使えるようになってきたら、誰もがこう思います。「マイクラで魔法が使えるようにしたい!!!」その願い、この記事で叶えます!
魔法をコマンドで作る方法は沢山ありますが、今回紹介するのは「簡単に誰でも作ることができる」をコンセプトに解説していきたいと思います。まずはこの記事で紹介する魔法をコマンドで作ってみてマスターできたら、あとは工夫次第でもっと高度な魔法もコマンドで作り出せるようになります。
ちなみにこの記事で紹介するコマンドはマインクラフト「統合版」でのみ、動作を確認しております。統合版対応ですので、Window10はもちろん、スイッチやスマートフォン版のマインクラフトでも動作します。入力は少し大変ですがぜひチャレンジしてみてください!
ちなみにこの動画の内容はライブ授業でも解説していますので、動画での解説も併せてご確認ください!
マイクラで作ることができる魔法の種類
コマンドを使えば工夫次第で色んな魔法を作ることができますが、今回はなるべく簡単に作ることができるように解説していきたいと思いますので、このような魔法の種類を考えてみました。
- 召喚系魔法
- 攻撃系魔法(2種類)
- 補助系魔法
今回はこの4つの魔法をコマンドで作っていきたいと思います。
魔法の発動条件を決める
次にそれぞれの魔法を「どのように発動するか」を決めていきます。マインクラフトで魔法を作る際によく使う魔法の発動条件は
- 雪玉を投げる
- 釣り竿(ウキ)を投げる
- アイテムを投げる
これらが簡単です。しかもこの3つの方法をコマンドで書く際、コマンドの構文自体は全て同じです。雪玉「snowball」なのか、ウキ(fishing_hook)なのか、リンゴ(apple)なのか、条件となるアイテム名を変えるだけで、何かを投げたら魔法が発動する、という仕組みが作れるようになります。
今回は各魔法コマンドの発動条件としてこのように作っていきたいと思います。
- 召喚系魔法=鉄の延べ棒を投げるとアイアンゴーレム召喚魔法
- 攻撃系魔法1=雪玉を投げるとアローレイン(矢の雨)を降らす魔法
- 攻撃系魔法2=釣り竿(ウキ)を投げると雷攻撃魔法
- 補助系魔法=リンゴを投げると10秒間透明になる魔法
これらは比較的簡単に作ることができる魔法ですので、まずはこの辺りからマスターしてくださいね!
魔法を作るにはコマンドブロックが不可欠
魔法をコマンで作っていくには、「コマンドブロック」が絶対に必要になります。まずはさくっとコマンドブロックをゲットしてくださいね。
/give @a command_block
コマンドブロックに予めコマンドを登録しておくことで、いつでも魔法が発動できるように作っていきます。
魔法を作るのに絶対に必要なexecuteコマンド
コマンドブロックに続いてもう1つ、絶対に覚えなければいけないコマンドがあります。それはexecuteコマンドです。げっ!executeコマンドて難しいやつだ!そういうイメージがありませんか?たしかにコマンドの中では難しい部類に入るのですが、慣れてしまえば結構簡単なんです。魔法を作るのにも絶対に必要ですので、これを機会にexecuteコマンドを理解して、簡単に使いこなしてしまいましょう!
executeは、誰かにコマンドを実行させることができる
executeコマンドの役割は「誰かにコマンドを実行させる」ことです。この理解さえできれば簡単なんです。
まず最初に「召喚系魔法=鉄の延べ棒を投げるとアイアンゴーレム召喚魔法」を作ってみたいと思います。
注意:executeコマンドは統合版とJava版で書き方が大きく異なります。この記事では統合版のexecuteについて解説していますので、Java版のマインクラフトでは正常に動かない可能性があります。
鉄の延べ棒を投げるとアイアンゴーレム召喚魔法
まず初めに「鉄の延べ棒を投げるとアイアンゴーレムを召喚できる召喚魔法」の作り方を紹介します。
この魔法の流れは
- プレーヤーが鉄の延べ棒を投げる(PCの場合はQキー、スイッチの場合は▲ボタン)
- 「鉄の延べ棒」が「アイアンゴーレムを召喚するコマンド」を実行する
- 「鉄の延べ棒」を消す(キルする)
この3つの流れをコマンドで表現するだけなので実はとても簡単です。順番に見ていきましょう。
1.プレーヤーが鉄の延べ棒を投げる(PCの場合はQキー、スイッチの場合は▲ボタン)
これはコマンド不要でしたね。単なる発動条件ですので、プレーヤーが魔法を発動したいタイミングで鉄の延べ棒を投げる(捨てる)だけなので特にすることはありません。
2.「鉄の延べ棒」が「アイアンゴーレムを召喚するコマンド」を実行する
ここが本題で一番重要なポイントです。プレーヤーが鉄の延べ棒を投げますが、実際にアイアンゴーレムを召喚するのはプレーヤーではなく「鉄の延べ棒」になることが最大のポイントです。
まず「鉄の延べ棒にコマンドを実行させる」には、executeコマンドを使います。
/execute @e[name=鉄の延べ棒] ~ ~ ~
/execute 誰かにコマンドを実行させるよ
@e[name=鉄の延べ棒] 鉄の延べ棒という名前のエンティティに(コマンドを実行させるよ)
~ ~ ~ そのエンティティの場所で(コマンドを実行させるよ)
このような意味になります。/execute と ~ ~ ~ の部分はいつでも同じでOKなので、つまりコマンドを実行させたい人や物の部分 @e[name=鉄の延べ棒] ここさえ変更すればOKなのです!
これで「鉄の延べ棒」にコマンドを実行させる、というコマンド構文のできあがりです。
executeの後に実行したい魔法のコマンドを書くだけ
ここまでできたらあとは簡単です。「鉄の延べ棒」に実行させたいコマンドは「アイアンゴーレムを召喚する」こと。
アイアンゴーレムを召喚するコマンド
/summon iron_golem
あとはこのコマンドを、先程のexecuteコマンドの後ろにそっくりそのまま付け加えるだけでOKです!
/execute @e[name=鉄の延べ棒] ~ ~ ~ /summon iron_golem
コマンドの後ろにコマンドがくっつくの!?と最初は気持ち悪いかもしれませんが、この使い方に慣れればexecuteはとても便利なコマンドだと気がつくはずです。
以上で「鉄の延べ棒がアイアンゴーレムを召喚するコマンド」の出来上がりです!これを反復コマンドブロックに書いて、「常にアクティブ」で動作させてください。
3.「鉄の延べ棒」を消す(キルする)
実はもう1つだけやっておかなければいけない注意点を解説します。
鉄の延べ棒がアイアンゴーレムを召喚するのはいいのですが、このコマンドは反復コマンドブロックで実行している為、鉄の延べ棒がアイテムとしてフィールドに存在している限り、アイアンゴーレムを生み出し続けてしまいます。
その光景はそれはそれで面白いのですが、魔法として破綻してしまいますので最後に「鉄の延べ棒を消す」というコマンドを実行してあげる必要があります。
鉄の延べ棒を消す(キル)するコマンド
/kill @e[name=鉄の延べ棒]
これをコマンドブロックに書いたら、先程の反復コマンドブロックの次に繋げてチェーンブロックにしてください。そして大切なのは「条件付き」の「常にアクティブ」にすることです。
こうすることで、「鉄の延べ棒がアイアンゴーレムを召喚することに成功したときだけ、鉄の延べ棒を消す(キルする)」という処理の出来上がりです!
雪玉を投げるとアローレイン(矢の雨)を降らす魔法
先程のアイアンゴーレム召喚魔法でexecuteコマンドの使い方が理解できたら、他の魔法も簡単に作ることができます。
「雪玉を投げるとアローレイン(矢の雨)を降らす魔法」の流れは
- プレーヤーが雪玉を(右クリックで)投げる
- 雪玉が「矢を召喚する」コマンドを実行し続ける
今回は先程よりも簡単に2つの処理だけです。しかも1はコマンドではないので、実は1つのコマンドだけで魔法を作ることができてしまいます。
雪玉にコマンドを実行させるよ / 矢を出現させるよ
という流れでコマンドを書きます。
/execute @e[type=snowball] ~ ~ ~ /summon arrow
/execute 誰かにコマンドを実行させるよ
@e[type=snowball] タイプが雪玉のエンティティに(コマンドを実行させるよ)
~ ~ ~ そのエンティティの場所で(コマンドを実行させるよ)
/summon arrow 矢を召喚する
今回のexecuteコマンドは@eの後がname=ではなくtype=であることに注意してください!
地面に落ちているアイテムにコマンドを実行させる時はname=で指定しましたが、今回はプレーヤーが右クリックで投げ飛ばした雪玉にコマンドを実行させたいので、その場合はtype=と書きます。
最後にこれを反復コマンドブロックの常にアクティブで動作させれば、アローレイン魔法の完成です!
釣り竿(ウキ)を投げると雷攻撃魔法
ここまできたら後はもう簡単です。
- プレーヤーが釣り竿(ウキ)を(右クリックで)投げる
- ウキが「雷を召喚する」コマンドを実行し続ける
この流れでコマンドを書いていけばOKです。ウキはプレーヤーが右クリックで投げるものなので、type=を使います。
/execute @e[type=fishing_hook] ~ ~ ~ /summon lightning_bolt
このコマンドも反復コマンドブロックの常にアクティブで動作させます。この魔法はかなりカッコいいのでぜひ試してみてください!
リンゴを投げると10秒間透明になる魔法
最後に、effectコマンドを使ったプレーヤーを補助する魔法を解説します
流れはこれまでと全く同じで、リンゴが実行するコマンドが「10秒間透明にするエフェクトコマンド」になるだけです。
/execute @e[name=リンゴ] ~ ~ ~ /effect @p invisibility 10 1
今回は地面に落としたリンゴが魔法を発動するのでname=、さらにリンゴはマインクラフト内ではひらがなではなくカタカナで表記されるので、name=リンゴ となるように注意してください。
そしてこのリンゴが透明化の効果を与えるエフェクトコマンドを実行する、という流れになりますこのエフェクトコマンドでは@pを使うことにも注意してくださいね。@p、つまり「リンゴから一番近いプレーヤーに(効果を付ける)」という意味になります。
エフェクトコマンドについて詳しく知りたい場合はこちらの記事も参考にしてください!
イクラのエフェクト効果を付与したら違うゲームになった!【effectコマンドを解説】
以上ですがいかがでしたでしょうか?executeコマンドを使えば魔法も簡単に実装できるので、ぜひチャレンジしてみてください!