どーも、お久しぶりです。Takeです。
この記事でMinecraft で 「Mod なし・コマンドだけで魔法をつかう方法」について記述します。
今回はコマンドブロックだけで設定でき、ニンジン付きの棒をふるとその棒から魔法がでてくるようにします。
これを調べられた方は「どうやって杖から魔法が飛ぶようにできるのだろう?」とかいろいろと悩まれているかもしれません。
私も最初はそうでしたが、コマンドブロックを使って実現すると思ったより簡単に魔法をつかうことができました!!!
↓ イメージこんな感じです。
上記の画像ではなんか炎が出てると思います。これが魔法です。
ニンジン付きの棒のしたのは特に理由はありませんが、釣竿でもなんでも行けると思います。
コマンドブロックは10個必要です(実行する魔法によっては個数が変化します)。
難しいかもしれませんが、コピー & ペーストしてもすぐに実行できると思いますので、よければ最後まで記事を読んでみてください。
「魔法」というと、いろいろとあると思いますが、今回は下記を用意しました。
- 炎の魔法
- 水の魔法
- 闇の魔法
- 風の魔法
- 氷の魔法
- 雷の魔法
とりあえず用意したコマンドはこんな感じですが、マイクラのコマンドは自由度が高いのでもっといろいろできると思います。
今回のマイクラのバージョンは、Minecraft Java版 1.17 ですが、Java版なら問題なく実行できると思います(1.8以降も実践可能)。
魔法をコマンドブロックで実行する方法
マイクラで魔法を実現する方法ですが、ざっくり説明するとこんな感じです。
- 透明の防具立てを召喚する
- 透明の防具立ての周りに「パーティクル」を出現させる
- 召喚立てを前方に動かし続ける
- 一定の距離が離れたら、召喚立てを削除する
「パーティクル」はマイクラの炎、煙、雪とかいろいろと表現することができます。
※ このサイトがすごくわかりやすかったです↓
https://minecraft-blog.net/?p=7628
次にコマンドブロックで魔法を実現する具体的な設定方法についてまとめました。
下の表のようにコマンドブロックを作成・書き込めばOKです!
No. | 内容 | 種類 | 条件 | コマンド |
1 | コマンドブロックのコメントを停止させる | インパルス | 動力が必要 | gamerule commandBlockOutput false |
2 | スコアボードに「ニンジン付きの棒」を振ることを検知するように設定する
※ 検知するとスコアボードの「magic」が 1 になる |
チェーン | 常時実行 | scoreboard objectives add magic minecraft.used:minecraft.carrot_on_a_stick |
3 | スコアボードの「magic」が 1 の間、 防具立て(透明、当たり判定なし、重力なし)を召喚する |
ループ | 常時実行 | execute as @a[scores={magic=1..}] at @s run summon minecraft:armor_stand ~ ~ ~ {NoGravity:1b,Marker:1b,Invisible:1b,Tags:["magicArm"]} |
4 | 召喚した防具立ての向きを変更する | チェーン | 常時実行 | execute as @a[scores={magic=1..}] at @s rotated as @e[type=minecraft:player] run tp @e[tag=magicArm,limit=1,sort=nearest] ~ ~ ~ ~ ~ |
5 | 防具立ての前方ブロックが Air(空気)なら、防具立てを前方に移動させる | チェーン | 常時実行 | execute as @e[type=armor_stand,tag=magicArm] at @s if block ^ ^ ^1.0 air run tp ^ ^ ^1.0 |
6 | 防具立ての前方ブロックが Air(空気)でないなら、防具立てを kill する | チェーン | 常時実行 | execute as @e[type=armor_stand,tag=magicArm] at @s unless block ^ ^ ^1.0 air run kill @s |
7 | スコアボードの「magic」を0にする | チェーン | 常時実行 | scoreboard players set @a[scores={magic=1..}] magic 0 |
8 | 防具立ての周囲のエンティティに対し、即時ダメージ(instant_damage)を与えるにする | チェーン | 常時実行 | execute as @e[tag=magicArm] at @s run effect give @e[distance=..1.5,type=!minecraft:player] instant_damage 1 0 |
9 | 防具立ての周りに particle を出現させる | チェーン | 常時実行 | ※ 魔法コマンド(次章で説明) |
10 | 16ブロック以上離れた防具立てを kill する | チェーン | 常時実行 | kill @e[tag=magicArm,distance=16..] |
※ 上記「N0.9」のコマンドについては、攻撃魔法ごと(炎とか氷の魔法攻撃など)ごとにコマンド内容が変わってきます。
つまり上記表のようにコマンドブロックを設定し、No.9 のコマンドの箇所だけ次章に記載のコマンドをうめこめば OK です!
つぎからいろいろな魔法のコマンドを紹介しますが、
雷の魔法だけ上記の表とは別の表になりますので、ご注意ください。
炎の魔法
炎の魔法については下記になります。
要は防具立ての周りに炎のパーティクルを出現させてます。
1 |
execute as @e[tag=magicArm] at @s run particle minecraft:flame ~ ~1.5 ~ 0.05 0.05 0.05 0.01 100 |
水の魔法
つぎに水の魔法については下記になります。
これも炎の魔法同様に、防具立ての周りに水のパーティクルを出現させてます。
1 |
execute as @e[tag=magicArm] at @s run particle minecraft:bubble ~ ~1.5 ~ 1 1 1 0.01 100 |
闇の魔法
次に闇の魔法です。
これも炎の魔法同様に、防具立ての周りに闇?のパーティクルを出現させてます。
これは呪いとか効果付けても面白いな~と思いましたが、今回はつけてません。
1 |
execute as @e[tag=magicArm] at @s run particle minecraft:dragon_breath ~ ~1.5 ~ 0.05 0.05 0.05 0.01 100 |
風の魔法
次に風の魔法です。
これも炎の魔法同様に、防具立ての周りに風のパーティクルを出現させてます。
風の魔法については、エンティティに当たると上に吹っ飛ぶように設定をしています、
いままでとは違い、コマンドブロックが2つ必要となります(コマンドブロックは両方とも、チェーン、定常実行になります)。
1 2 |
execute as @e[tag=magicArm] at @s run particle minecraft:sweep_attack ~ ~1.5 ~ 1 1 1 0.01 10 execute as @e[tag=magicArm] at @s run effect give @e[distance=..1.5,type=!minecraft:player] levitation 1 30 true |
氷の魔法
次は氷の魔法ですが、
防具立ての周りに氷っぽいパーティクルを出現させてます。
そしてある一定の距離(16ブロック)を離れるとアイスブロックを出現させてます。
いままでとは違い、コマンドブロックが2つ必要となります(コマンドブロックは両方とも、チェーン、定常実行になります)。
1 2 |
execute as @e[tag=magicArm] at @s run particle minecraft:dolphin ~ ~1.5 ~ 0.05 0.05 0.05 0.01 100 execute as @e[tag=magicArm,distance=16..] at @s run fill ^-1 ^-1 ^-1 ^1 ^1 ^1 ice |
雷の魔法
いままでは、10個のコマンドブロックを実行していたのですが(上のでかい表)、
雷の魔法は下記表のように4個のコマンドブロックで実現できます。
No. | 内容 | 種類 | 条件 | コマンド |
1 | コマンドブロックのコメントを停止させる | インパルス | 動力が必要 | gamerule commandBlockOutput false |
2 | スコアボードに「ニンジン付きの棒」を振ることを検知するように設定する
※ 検知するとスコアボードの「magic」が 1 になる |
チェーン | 常時実行 | scoreboard objectives add magic minecraft.used:minecraft.carrot_on_a_stick |
3 | スコアボードの「magic」が 1 の間、 一番近いエンティティ雷を落とす |
ループ | 常時実行 | execute as @e[distance=..30,type=!minecraft:player,limit=1,sort=nearest] at @s if score @p magica matches 1.. run summon minecraft:lightning_bolt ^ ^ ^ |
4 | スコアボードの「magic」が 0 になる | チェーン | 常時実行 | scoreboard players set @a[scores={magica=1..}] |
最後に
いかがでしたでしょうか?
この記事でMinecraft で「Mod なし・コマンドだけで魔法をつかう方法」について記述しました。
★ 動画でもこの記事について解説していますのでよければどうぞ!
(現在作成中!!!)
最近YouTube でマイクラの普段動画流してます。
よければチャンネル登録&高評価していただけると嬉しいです。
ではでは。