
というこで!第一弾ブログ記事でのコマンド紹介その内容は…!
【モブをランダム配置するコマンド~】
このコマンドはコメントで来てたリクエストから拝借いたしました~

ということでこのリクエストに沿って解説していきたいと思います!
コメントでは200×200と書いてますが、規模が大きいとわかりづらいので
今回は21×21の範囲で解説していこうと思います!
(いくらでも広げれるから安心してね)

よくランダムにモブを配置するコマンドあったりしますけど、よくある仕様が
偏ってしまう…

こんな沸き方すると見栄え悪いですよね…
しかも、ただspreadplayersコマンドを使用すると例えば建築物があったとき、
埋もれてしまう…
それを解消したのがこちら

このようにしっかりバラけて配置するような仕組みをつくてみました~
画像は用意できませんでしたが、
ちゃんと建築物も避けて機能するので是非真似してください!
それでは構文の紹介をしていきます!
まず、このように大体の高さでよいですがバリアブロックを敷きます

次に衝撃コマンド一個、反復チェーンコマンドを7つ配置します!
(反復チェーンの6つ目は条件付きにしましょう!)
また衝撃と、反復はレッドストーンありに、チェーンは無しに設定する。

それでは構文紹介・解説していきます。
まずは衝撃コマンド一個だけのやつから!

このコマンドによって【random】という名前の防具立が出てきます!
次に右のコマンドブロックタワーの1個目解説

このコマンドは【random】という名前のアマスタをランダムにテレポートさせるコマンドです。
00のところをステージのど真ん中の座標にして、
5のところは大体次の数字の半分くらいがちょうどいいかなと。
10は中心座標からの半径(21の半分は10なのでここでは10)
@e[name=random]で【random】という名前のアマスタを指名しています
※範囲の上Y=20にバリアブロックを設置した場合、Y=21の高さにテレポートします
下は実際の動き
次に右のコマンドブロックタワーの2個目解説

あらかじめ【random】にタグ削除のコマンドを入れておくためのコマンド
次に右のコマンドブロックタワーの3個目解説

【random】のY座標(今回はY=4の座標にモブを召喚)にブロックがなければ
タグ【random】を与えるようにするコマンド
次に右のコマンドブロックタワーの4個目解説

もしゾンビがすでにいる場所の近くにタグ持ちの【random】が来た場合、
タグ持ちの【random】からタグを削除するコマンド
(r=6の数字を小さくすれば密に、大きくすれば過疎って召喚できる)
(21のところはアマスタがテレポートするY=の座標)
次に右のコマンドブロックタワーの5個目解説

上記2つのコマンドで
「召喚座標にブロックがない」
「近くに召喚対象がいない」
という条件が重なるとタグ【random】を得て、
その状態でこのコマンドが機能する。
そしてアマスタのY=4の座標にゾンビが召喚される
次に右のコマンドブロックタワーの6個目解説

このコマンドは「条件付」に設定する。もし上記のコマンドでゾンビが召喚されたときにスコアを加算する仕組みになっている。
またスコアがないと機能しないので、チャット欄で
「/scoreboard objectives add random dummy」
と打ち込む。そうするとスコアが作成されてスコアボードコマンドが機能する。
次に右のコマンドブロックタワーの7個目解説

これは上記のコマンドで「ゾンビを召喚できたときに加算されたスコア」が
10になったとき
【random】をkillするコマンドとなっている。
またこの数字をいじると召喚したいモブの数を設定することができる。
※面積に対してこの数が大きすぎると永遠に処理が終わらないので適度に設定するのが良い
ということで、全部のコマンドの解説を終えました。
全体的な流れを説明すると
【random】という名前のアマスタを召喚
【random】を指定した範囲でランダムテレポート
【random】のタグをいったん削除する
【random】の召喚座標にブロックがない場合タグ【random】を付与する
【random】の召喚座標の近くにゾンビがいた場合タグ【random】を削除
条件を満たしタグが削除されなかった場合、その座標にゾンビ召喚
ゾンビを召喚した場合【random】にスコア【random】を加算する
【random】のスコアが10に満たされた場合、【random】をkillする
といった仕様となっております!
以上のコマンドをレッドストーンブロックを置いて起動するとこんな感じできれいに間隔を空けてゾンビが召喚されます!

↓実際の動き
もちろん構文をいじれば他のモブや、より広い範囲、召喚の密度、数など、細かく設定できますのでよかったら真似して作ってみてね!
多少条件によって処理速度が遅くなったりするけど、そこも好みで調整してね
Comments