【マイクラ】spreadplayersコマンドの使い方・構文・ランダム配置を解説【統合版】

この記事はマイクラ統合版(Bedrock Edition)向けのコマンド解説です
Java版とは構文が違うので、そのままコピペしないようご注意ください
ランダムテレポート・ミニゲーム・イベント用の配置に使えるコマンドです

こんにちは。ゆずかきです。

マイクラで「参加者をランダムな場所に飛ばしたい」「サバイバル開始地点をバラバラにしたい」「ミニゲームのスタート位置を毎回変えたい」って思ったことはありませんか?

そういう時に便利なのが、今回紹介するspreadplayersコマンドです。

名前だけ見ると少し難しそうですが、実際に使う形はかなりシンプルです。
ただし、Java版の構文をそのまま統合版で使うと失敗するので、そこだけは注意してくださいね。

この記事では、統合版の/spreadplayersについて、

  • 基本構文
  • 各引数の意味
  • 実際に使えるコマンド例
  • ランダム配置の範囲の考え方
  • よくある失敗と対策
  • Java版との違い

を、順番に解説していきます。

※本記事は、Minecraft統合版の公式コマンド資料・海外版Minecraft Wikiの仕様情報を確認したうえで構成しています。
※コマンドはワールド設定でチートを有効化している前提です。
※統合版はアップデートでコマンド補完や引数表示が変わる場合があるため、実際の入力時はゲーム内の補完表示も確認してください。


目次

1. spreadplayersコマンドとは
2. 使う前に知っておきたい前提条件
3. 統合版のspreadplayers構文
4. まずは一番簡単なランダムテレポートを試す
5. spreadDistanceとmaxRangeの考え方
6. 対象プレイヤー・対象エンティティの指定方法
7. 実用例:サバイバル・ミニゲームで使うコマンド例
8. 高さ指定と安全な配置について
9. コマンドブロックで使う時の注意点
10. Java版との違い
11. うまく動かない時のチェックポイント
12. まとめ
13. 参考文献

この記事で分かること
・統合版で/spreadplayersを使うための基本構文
・ランダムテレポート範囲の考え方
・Java版のコマンド例を統合版で間違えて使わないための注意点


1. spreadplayersコマンドとは

/spreadplayersは、指定した対象をランダムな位置へ分散配置するコマンドです。

普通の/tp/teleportは、指定した座標へピンポイントで移動させるコマンドですよね。
それに対して/spreadplayersは、中心座標と範囲を決めて、その中のどこかへランダムに配置します。

使い道としては、こんな場面が多いです。

  • サバイバル企画で参加者をバラバラの場所からスタートさせる
  • PvPやかくれんぼ系のミニゲームで、毎回違う初期位置にする
  • イベントワールドでプレイヤーを一定範囲内に散らす
  • タグを付けたエンティティだけをランダムな地上位置へ移動させる

通常のテレポートとは役割が違うので、まずは下の表で整理しておきましょう。

コマンド 主な役割 向いている用途
/tp
/teleport
指定した座標へ移動 拠点・会場・固定地点への移動
/spreadplayers 指定範囲内へランダム配置 ランダムスタート・ミニゲーム・参加者の分散


大事なのは、/spreadplayers「ランダムな地上位置に飛ばす」コマンドだということです。

地下の任意座標にランダム配置したり、建物の中の決まった高さにきれいに置いたりする用途にはあまり向きません。
そういう場合は、/tp/execute、座標リストを使った仕組みを別で組む方が安定します。


2. 使う前に知っておきたい前提条件

/spreadplayersを使う前に、まずは前提条件を確認しておきましょう。

統合版でこのコマンドを使うには、基本的にチートが有効なワールドが必要です。
サバイバル本番ワールドでいきなり試すと、思わぬ場所に飛んでしまうことがあるので、最初はコピーしたワールドやクリエイティブ環境で試すのがおすすめです。

事前に確認すること

  • ワールド設定でチートを有効にしているか
  • コマンドを実行する権限があるか
  • 対象にするプレイヤーやエンティティが本当に存在しているか
  • 飛ばす範囲が広すぎないか
  • 飛ばす先が未探索チャンクばかりになっていないか

特にマルチプレイやRealmsで使う場合、いきなり全員を飛ばすのは危険です。
まずは自分だけ、またはテスト用のプレイヤーだけを対象にして、動作を確認しましょう。

/spreadplayers ~ ~ 0 50 @p

👆最初のテストなら、このくらい小さい範囲で十分です。

~ ~は「今いる場所のX/Z座標を中心にする」という意味です。
つまりこの例では、現在地周辺の50ブロック範囲内に、最寄りのプレイヤーをランダム配置します。


3. 統合版のspreadplayers構文

統合版の基本構文は下記です。

/spreadplayers <x> <z> <spreadDistance> <maxRange> <victim>

また、現在の公式ドキュメントでは、統合版向けに最後へ[maxHeight]を付ける形も掲載されています。

/spreadplayers <x> <z> <spreadDistance> <maxRange> <victim> [maxHeight]

ただし、海外版Minecraft Wikiなどでは、統合版の構文がvictimまでの5引数で紹介されています。
そのため、本記事ではまず5引数の基本形をメインに解説し、必要な場合だけmaxHeightにも触れていきますね。

各引数の意味

引数 意味 入力例
x ランダム配置範囲の中心X座標 0 / ~ / 100
z ランダム配置範囲の中心Z座標 0 / ~ / -200
spreadDistance 対象同士の最小距離 0 / 10 / 30
maxRange 中心からX/Z方向へどれくらいの範囲に散らすか 50 / 300 / 1000
victim ランダム配置する対象 @p / @a / @e[tag=test]
maxHeight 配置先の高さ上限として使う任意引数 80 / 120 など


まず覚えるべきなのは、下記の形です。

/spreadplayers 中心X 中心Z 対象同士の距離 範囲 対象

例えば、ワールドの中心付近に全員をバラバラに配置したいなら、こうです。

/spreadplayers 0 0 20 500 @a

この場合、意味は下記になります。

  • 中心座標:X=0、Z=0
  • 対象同士の最低距離:20ブロック
  • 配置範囲:中心からX/Z方向に最大500ブロック程度
  • 対象:全プレイヤー

ここで注意したいのが、統合版ではJava版のtruefalseを入れないことです。

Java版の解説を見て、うっかり下のように入力すると失敗します。

/spreadplayers 0 0 20 500 false @a

👆これはJava版寄りの書き方です。
統合版では基本的に、こう書きましょう。

/spreadplayers 0 0 20 500 @a

4. まずは一番簡単なランダムテレポートを試す

ここからは、実際に使いやすいコマンド例を順番に紹介しますね。

現在地の周辺に自分だけをランダム配置する

/spreadplayers ~ ~ 0 100 @p

これは、現在地の周辺100ブロック範囲内に、最寄りのプレイヤーをランダム配置するコマンドです。

一人だけを飛ばす場合、対象同士の距離を空ける必要がないので、spreadDistance0で大丈夫です。

全員を現在地周辺に散らす

/spreadplayers ~ ~ 20 300 @a

これは、全プレイヤーを現在地周辺にランダム配置します。
対象同士が最低20ブロックくらい離れるようにしつつ、中心からX/Z方向に最大300ブロック程度の範囲に散らします。

サバイバル企画のスタートや、簡単なイベント開始地点として使いやすい形ですね。

ワールド中心から広範囲に散らす

/spreadplayers 0 0 50 1000 @a

これは、X=0、Z=0を中心に、全員をかなり広い範囲へランダム配置する例です。

ただし、maxRangeを大きくしすぎると、未読み込みチャンクへ飛ばされることがあります。
統合版では、環境によってチャンク読み込み時に重くなることもあるので、最初から何千ブロックも指定するのはおすすめしません。

まずは100500くらいで動作確認して、問題なければ少しずつ広げましょう。

特定のプレイヤーだけを飛ばす

/spreadplayers 100 100 0 200 Steve

プレイヤー名を直接指定することもできます。
ただし、マルチプレイでは名前の入力ミスが起きやすいので、普段使いでは@pやタグ指定の方が管理しやすいです。


5. spreadDistanceとmaxRangeの考え方

/spreadplayersで一番つまずきやすいのが、spreadDistancemaxRangeの違いです。

この2つを混同すると、思ったより近くに配置されたり、逆にコマンドが失敗したりします。

spreadDistanceは「対象同士の距離」

spreadDistanceは、中心からの距離ではありません。
対象同士を最低どれくらい離すかです。

例えば、下のコマンドを見てください。

/spreadplayers 0 0 30 300 @a

この場合、全プレイヤー同士ができるだけ30ブロック以上離れるように配置されます。

参加者が2〜5人くらいなら問題なくても、参加者が多すぎると、指定範囲内に全員を離して置けなくなって失敗することがあります。

maxRangeは「中心からの範囲」

maxRangeは、中心座標からX/Z方向へどれくらい離れた範囲まで使うかを指定します。

ただし、ここは少し大事です。
/spreadplayersの範囲は、完全な円ではなく、X/Z方向に広がる正方形の範囲として考えると分かりやすいです。

例えば、中心を0 0maxRange500にした場合、イメージとしては下記のようになります。

指定 イメージ
x z 範囲の中心
maxRange 500 中心からX方向・Z方向に最大500ブロック程度
全体の広さ おおよそ1000×1000ブロックの正方形範囲


「半径500の円」と考えると少しズレます。
実際の運用では、中心から四角く広がる範囲として見ておくと失敗しにくいです。

統合版ではmaxRangeに余裕を持たせる

統合版では、maxRangespreadDistanceより最低でも1以上大きくする必要があります。

例えば、これは失敗します。

/spreadplayers 0 0 50 50 @a

spreadDistancemaxRangeが同じなので、条件が厳しすぎます。
余裕を持たせるなら、こうします。

/spreadplayers 0 0 50 200 @a

参加者が多いほど、maxRangeは広めにした方が安定します。

体感としてのおすすめ
2〜4人ならspreadDistance 20〜50maxRange 200〜500くらいから試すと扱いやすいです。
参加人数が多いイベントでは、まず小規模テストをしてから本番値を決めましょう。


6. 対象プレイヤー・対象エンティティの指定方法

victimには、ランダム配置したい対象を指定します。
統合版では、プレイヤーだけでなく、対象セレクターでエンティティを指定することもできます。

よく使うセレクターは下記です。

セレクター 意味 使いどころ
@p 最寄りのプレイヤー ボタンを押した人だけ飛ばす時
@a 全プレイヤー 参加者全員を散らす時
@r ランダムなプレイヤー 抽選で1人だけ飛ばす時
@e 全エンティティ タグや種類で絞る時
@s コマンド実行者自身 executeと組み合わせる時


@eだけで使うのは危険

@eは、プレイヤー・モブ・アイテム・防具立てなど、かなり広い対象を含みます。
そのため、下のようなコマンドは基本的に避けてください。

/spreadplayers 0 0 10 100 @e

これを実行すると、意図しないエンティティまで大量に動いてしまう可能性があります。
@eを使うなら、必ずtypetagで絞りましょう。

/spreadplayers 0 0 10 100 @e[type=pig]

または、タグを付けてから対象にする方が安全です。

/tag @p add random_tp
/spreadplayers 0 0 0 300 @a[tag=random_tp]
/tag @a[tag=random_tp] remove random_tp

👆このように、先にタグを付けてから飛ばすと、イベント参加者だけを管理しやすくなります。

範囲内のプレイヤーだけを対象にする

ロビーにいる人だけをランダム配置したい時は、rを使うと便利です。

/spreadplayers 0 0 20 500 @a[r=10]

この例では、コマンドの実行地点から10ブロック以内のプレイヤーだけが対象になります。

コマンドブロックで使う場合、@a[r=10]コマンドブロックの位置を基準に判定されます。
チャットから実行する場合とは基準位置が変わるので、ここはかなり間違えやすいです。

座標を明確にしたい場合は、下のようにx y zも入れると安定します。

/spreadplayers 0 0 20 500 @a[x=100,y=64,z=100,r=10]

これは、X=100、Y=64、Z=100付近の半径10ブロック以内にいるプレイヤーを対象にする例です。


7. 実用例:サバイバル・ミニゲームで使うコマンド例

ここからは、実際に使いやすい形を用途別に紹介します。

サバイバル企画で全員をバラバラにスタートさせる

/spreadplayers 0 0 50 1000 @a

全員をワールド中心付近から広めに散らす例です。

サバイバル企画で使うなら、開始前に下記も確認しておくと安心です。

  • 参加者が全員ログインしているか
  • 飛ばす前にインベントリやゲームモードを整えているか
  • ワールド境界や禁止エリアに近すぎないか
  • 飛んだ直後に落下死しないよう対策しているか

特に高低差のある地形では、木の上や山の上に出ることがあります。
完全な安全地帯だけに配置してくれるコマンドではないので、イベント運営なら保険を入れておきましょう。

落下対策を入れてから飛ばす

高い場所へ出る可能性があるワールドなら、先に落下緩和を付けてから飛ばすと安全です。

/effect @a slow_falling 10 0 true
/spreadplayers 0 0 50 1000 @a

念のためダメージ対策も入れるなら、耐性を短時間だけ付ける方法もあります。

/effect @a resistance 10 4 true
/effect @a slow_falling 10 0 true
/spreadplayers 0 0 50 1000 @a

このあたりは、遊び方に合わせて調整してください。
普通のサバイバルで使うだけなら不要なこともありますが、イベント本番で事故を避けたいなら入れておくと安心です。

ミニゲーム開始時に参加者だけを散らす

参加者にタグを付けておき、そのタグが付いたプレイヤーだけを飛ばします。

/tag @p add game_player

参加者全員にタグを付けた後、ゲーム開始時に実行します。

/spreadplayers 200 200 15 100 @a[tag=game_player]

この例では、X=200、Z=200を中心に、参加者を100ブロック範囲へランダム配置します。
spreadDistanceを15にしているので、プレイヤー同士が近すぎる状態をある程度避けられます。

1人だけランダムな場所に飛ばす

/spreadplayers ~ ~ 0 300 @r

これは、ランダムなプレイヤー1人を現在地周辺へ飛ばす例です。

抽選イベントや、鬼ごっこの鬼をランダムに移動させたい時などに使えます。
ただし、@rは思った人が対象になるとは限らないので、本番運用ではタグやスコアボードで対象を絞る方が安全です。

防具立てなどのマーカーをランダム配置する

イベント制作では、防具立てなどにタグを付けて、マーカーとして散らす使い方もできます。

/summon armor_stand 0 100 0
/tag @e[type=armor_stand,c=1] add marker
/spreadplayers 0 0 0 200 @e[type=armor_stand,tag=marker]

このようにすると、タグ付きの防具立てを地上のランダム位置に配置できます。
そこから別コマンドで構造物やイベント処理につなげることもできます。

ただし、/spreadplayers地下や空中の好きな高さに置くためのコマンドではありません
構造物生成の基準点として使う場合は、配置された場所が本当に使える地形か、追加で判定する仕組みがあると安定します。


8. 高さ指定と安全な配置について

/spreadplayersは、基本的にランダムな水平位置を決めたあと、配置できる地上位置へ対象を移動させるコマンドです。

海外版Minecraft Wikiでは、対象はランダムに選ばれた水平位置の一番上の非空気ブロック上へ置かれる仕様として説明されています。
また、溶岩・水・泡の柱・火の上は避ける挙動とされています。

ただし、これは「絶対に安全な場所へ置いてくれる」という意味ではありません。

安全とは限らない場所の例

  • 木の上
  • 高い山の上
  • 崖の近く
  • 雪や葉っぱなど、足場として不安な場所
  • 周囲に敵モブがいる場所
  • 未読み込みチャンク付近

実際にイベント用途で使うなら、ランダム配置後の安全対策までセットで考えた方が良いです。

maxHeightを使う場合

公式ドキュメントでは、統合版の/spreadplayersにも任意引数としてmaxHeightが掲載されています。
入力補完で最後の高さ指定が出る環境なら、下記のような形で使えます。

/spreadplayers 0 0 20 500 @a 80

この例では、最後の80が高さ上限の指定です。

ただし、海外版Minecraft Wikiなどでは、統合版の構文がvictimまでで紹介されていることがあります。
そのため、もしmaxHeight付きでエラーになる場合は、まず下の基本形に戻してください。

/spreadplayers 0 0 20 500 @a

実用メモ
maxHeightは便利そうに見えますが、地下ダンジョンの中や建築物の内部へ正確にランダム配置する用途には向きません。
高さまで完全に管理したい場合は、/tp/executeで別の仕組みを組んだ方が安定します。


9. コマンドブロックで使う時の注意点

/spreadplayersは、チャットから直接打つよりも、コマンドブロックで使う場面が多いです。
ただし、コマンドブロックで使う場合は、セレクターの基準位置に注意してください。

@pは「コマンドブロックに一番近いプレイヤー」になる

例えば、コマンドブロックに下のコマンドを入れたとします。

/spreadplayers 0 0 0 200 @p

この場合、@pは「ボタンを押した人」ではなく、基本的にはコマンドブロックに一番近いプレイヤーです。
ボタンを押した人と違う人が近くにいると、その人が飛ばされることがあります。

対策としては、ボタンを押す場所の近くにいる人だけを対象にする形が扱いやすいです。

/spreadplayers 0 0 0 200 @p[r=3]

これで、コマンドブロック付近3ブロック以内の最寄りプレイヤーだけを対象にできます。

ロビー内の参加者だけを飛ばす

ロビー範囲にいる参加者だけを飛ばすなら、座標と半径を指定すると安定します。

/spreadplayers 0 0 20 500 @a[x=100,y=64,z=100,r=8]

これは、X=100、Y=64、Z=100付近の半径8ブロック以内にいるプレイヤーだけを対象にします。

ロビーを作る場合は、参加者が立つ場所を決めておくと管理しやすいです。

連続実行は避ける

リピートコマンドブロックで/spreadplayersを常時実行すると、対象が毎秒ランダムに飛ばされ続けます。
これは普通に危険です。

基本的には、

  • インパルス
  • ボタン式
  • レッドストーン信号1回
  • functionで開始時に1回だけ実行

のように、必要なタイミングで1回だけ動かすのがおすすめです。


10. Java版との違い

/spreadplayersはJava版にもありますが、統合版とは構文が違います。
ここを間違えると、コマンドが通らずにハマりやすいです。

特に多いのが、Java版のtruefalseを統合版に入れてしまうミスです。

Java版と統合版の違い

項目 統合版 Java版
基本構文 /spreadplayers x z spreadDistance maxRange victim /spreadplayers center spreadDistance maxRange respectTeams targets
true/false指定 基本的に使わない チームをまとめるかどうかで使う
対象指定 victim targets
高さ指定 公式資料では任意引数として掲載あり under maxHeight形式あり
セレクター Bedrock系の引数表記 Java系の引数表記


統合版で間違えやすい例

/spreadplayers 0 0 20 500 false @a

これは、Java版の解説でよく見る形です。
統合版ではfalseを入れずに、下のように書きます。

/spreadplayers 0 0 20 500 @a

バージョンによる変更点について

/spreadplayersは古くから存在するコマンドですが、Java版では過去に高さ指定や次元まわりの挙動に変更が入っています。
一方で、この記事のテーマである統合版では、実用上まず押さえるべきなのは下記です。

  • 統合版ではJava版のrespectTeams用のtrue/falseを入れない
  • 基本は/spreadplayers <x> <z> <spreadDistance> <maxRange> <victim>で覚える
  • 公式ドキュメントでは任意のmaxHeightも掲載されているため、使う場合はゲーム内補完で確認する

マイクラのコマンドは、古い記事・Java版記事・統合版記事が検索結果で混ざりやすいです。
エラーが出た時は、まず自分が見ている構文が統合版向けかを確認しましょう。


11. うまく動かない時のチェックポイント

/spreadplayersがうまく動かない時は、下のチェックポイントを順番に確認してください。

コマンドがエラーになる

  • [ ] Java版のtruefalseを入れていないか?
  • [ ] spreadDistanceよりmaxRangeが十分大きいか?
  • [ ] 座標や数値に全角文字が混ざっていないか?
  • [ ] 対象セレクターの書き方を間違えていないか?
  • [ ] @eを使う時にtypetagで絞っているか?

統合版では、まず下の形に戻して確認すると分かりやすいです。

/spreadplayers ~ ~ 0 50 @p

これが通るなら、構文自体は合っています。
あとは範囲や対象指定の問題である可能性が高いです。

「対象が見つからない」系の失敗

対象セレクターが空振りしている可能性があります。

例えば、下のような指定をしたとします。

/spreadplayers 0 0 20 500 @a[tag=game_player]

この場合、game_playerタグが付いたプレイヤーがいなければ失敗します。
タグを使う時は、先に対象へタグが付いているか確認しましょう。

/tag @p add game_player

範囲が狭すぎる

参加者が多いのに、spreadDistanceを大きくしすぎると、指定範囲に全員を配置できず失敗することがあります。

例えば、10人をかなり狭い範囲に配置しようとしているのに、全員を50ブロック以上離そうとすると厳しくなります。

対策はシンプルです。

  • spreadDistanceを小さくする
  • maxRangeを大きくする
  • 対象人数を減らす

まずは下のように余裕のある設定で試しましょう。

/spreadplayers 0 0 20 500 @a

思ったより近くに配置される

対象が1人だけの場合、spreadDistanceはほとんど意味を持ちません。
spreadDistanceは対象同士の距離なので、1人だけなら比較対象がいないためです。

また、maxRangeは「中心から必ずその距離まで離す」という意味ではありません。
中心に近い場所へ配置されることもあります。

「中心から最低○ブロック以上離したい」という用途なら、/spreadplayersだけで完璧に制御するのは難しいです。
その場合は、別の判定コマンドや座標候補を使う仕組みを考えた方が良いです。

高い場所や変な場所に飛ぶ

/spreadplayersは、ランダムな水平位置の地上側へ配置するコマンドです。
地形によっては、木の上・山の上・崖の近くに出ることがあります。

本番前に、下記の対策をしておくと安心です。

/effect @a slow_falling 10 0 true
/effect @a resistance 10 4 true

そのあとに/spreadplayersを実行します。
イベント用なら、飛んだ後に数秒間だけ無敵に近い状態にするだけでも事故がかなり減ります。

コマンドブロックで違う人が飛ばされる

@pの基準は、基本的にコマンドを実行している場所です。
コマンドブロックで実行するなら、コマンドブロックに近い人が対象になりやすいです。

ボタンを押した人だけを飛ばしたいなら、ボタン周辺にいる人だけを対象にする形にしましょう。

/spreadplayers 0 0 0 200 @p[r=3]

また、参加者を確実に管理したいなら、タグ指定が安定です。

/spreadplayers 0 0 20 500 @a[tag=game_player]

12. まとめ

以上、マイクラ統合版の/spreadplayersコマンドについて解説しました。

要点を整理すると、下記です。

  • 統合版の基本形は/spreadplayers <x> <z> <spreadDistance> <maxRange> <victim>
  • Java版のようにtruefalseを入れない
  • spreadDistanceは対象同士の最小距離
  • maxRangeは中心からX/Z方向へ広がるランダム配置範囲
  • 範囲は円というより、X/Z方向へ広がる正方形として考えると分かりやすい
  • @eを使う時は必ずtypetagで絞る
  • 高所や地形事故が怖い時は、落下緩和や耐性を先に付ける

/spreadplayersは、普通のサバイバルでは必須ではありません。
でも、マルチ企画・イベントワールド・ミニゲーム制作ではかなり便利です。

特に「全員をランダムな位置から始めたい」という場面では、かなり手軽に使えます。

まずは小さい範囲で試して、動作に慣れてから本番用の数値に調整してみてくださいね。

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。
柚子クラでは他にもマイクラ統合版・Java版の便利コマンドや装置を紹介しているので、是非ご覧くださいね(^^♪


13. 参考文献

この記事を書くにあたり、以下の公式資料・海外Wikiを参考にしています。