モブバトルでモブを整列させて、同時に一気に動かす方法を解説します。
こちらの動画を参考にしてください。
1. 最終コマンド
1.1 静止したモブを整列させた状態でsummonする。
/execute as @e[type=armor_stand] at @s run summon iron_golem ~ ~-200 ~ {PersistenceRequired:1b, Rotation:[90.0f,0.0f], NoAI:true}
☆これは一例であって、armorstandの設置場所やどの方向に向かせたいかで数字は異なります。
1.2 静止した状態から一気に動かす
/execute as @e run data merge entity @s {NoAI:false}
2. 解説
手順の概要です。
1. モブの配列と同じ配列をしたarmorstandを配置します。
2. armorstandに出したいモブをsummonさせます(executeコマンド)
2.1 モブの配列と同じ配列をしたarmorstandを配置
1000体のモブの配列を作りたければ、まずarmorstandを1000体同じように配列します。この過程はどうしても省くことはできません。
動画では、モブの配列を作りたい場所の上空(y座標)200の場所にarmorstandを配置しています。armorstandは宙に浮かないので、上空(y座標)199の場所いbarrierを敷いています。こうすることで、相対座標「~ ~-200 ~」で地上に出したいモブをsummonすることができます。
armorstandを1つ1つ置いて行っても良いですが、それでは時間がかかります。
まず1つおき、そのarmorstandに次のarmorstandをsummonさせて、、としていくと手間が省けます。
コマンドの例
/execute as @e[type=armor_stand] at @s run summon armor_stand ~ ~ ~2
/execute as @e[type=armor_stand] at @s run summon armor_stand ~ ~ ~4
/execute as @e[type=armor_stand] at @s run summon armor_stand ~ ~ ~8
/execute as @e[type=armor_stand] at @s run summon armor_stand ~ ~ ~16
/execute as @e[type=armor_stand] at @s run summon armor_stand ~ ~ ~32
/execute as @e[type=armor_stand] at @s run summon armor_stand ~ ~ ~64
余計な分は消します。1列できたら、もう一列を同様にsummonさせていきます。
最終的に配列させたいarmorstandが完成したら次のステップに進みます。
2.2 armorstandに出したいモブをsummonさせます(executeコマンド).
ここまできたら最終コマンドを入れるだけです。
/execute as @e[type=armor_stand] at @s run summon iron_golem ~ ~-200 ~ {PersistenceRequired:1b, Rotation:[90.0f,0.0f], NoAI:true}
・配列したarmorstandからモブをsummonさせたい場所への相対座標を入れます。
ここではy座標が-200になっています。
・敵モブはある一定条件で勝手に消えて行ってしまいます。それを防止するために
PersistenceRequired:1b
をつけます。
・モブが向く方向はRotationで決めます。
ここでは西向きにするために90を入れています。
参考:東-90、西90、南0、北180
・動かなくするためにNoAI:trueをつけます。
armorstandの下にアイアンゴーレムがsummonされたのがわかります。
地上で見るとこんな感じです。
静止したモブを一気に動かします。
/execute as @e run data merge entity @s {NoAI:false}
一斉に動き出しました。