マルチプレイなら『シン・VPS』がおすすめ!

【簡単】ランダムな位置にテレポートするspreadplayersコマンド

【Java版】ランダムな位置にテレポートする方法!【コマンド1つでOK】

この記事では、Minecraft Java Edition(バージョン1.19.4)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

コマンド初心者なマインクラフター
「ランダムな位置にテレポートさせたいんだけど、どうやればいいの? なんかいいコマンドない?」

こんな疑問を解決します!

本記事の内容
  • ランダムなテレポートには、spreadplayersコマンド

こんにちは!
マインクラフターのなつめ(@natsume_717b)です。

なつめ

2016年3月からマイクラをプレイしています!
最近はコマンドやデータパックなどの技術的なものを勉強しています。

今回は特定の範囲の中でランダムな位置にテレポートをするコマンドを紹介していきます。
このコマンドを使えるようになると、ミニゲームなどでランダムな位置からスタートするといったことが可能となるので、覚えておいて損はありません。

それでは、さっそく見ていきましょう!



ランダムなテレポートには、spreadplayersコマンド

プレイヤーをランダムにテレポートさせたい場合、spreadplayersコマンドを使います。

spreadplayersコマンド1つで、ランダムな位置にテレポートさせることができるからですね。
なので、tpコマンドを使う必要は全くありません。

実際のコマンドを見てみましょう。
以下は言語化したものになります。

/spreadplayers 座標(X,Zのみ) 対象の離れる距離 範囲の最大値 チームごとにまとめるか 対象

それぞれの項目を解説していきます。

座標(X,Zのみ)

座標はXとZのみを指定します。
ここで指定した座標がテレポートする範囲の中心となります。

なので、X,Zの両方が0だった場合はX=0、Z=0を中心とした範囲をテレポートするということ。
(テレポートする最大範囲については別の項目で指定します)

対象の離れる距離

テレポートさせるエンティティの間隔を設定できます。
要するにテレポートした際に、どれだけ引き離すかというもの。

ミニゲームなどで遊ぶことを想定する場合は、どれだけ間隔を広げるのかをしっかりと決めて指定しましょう。

範囲の最大値

ここで指定する数字が大きいほど、より遠くにテレポートすることができます。

要するに、最初に決めた座標から何マス離れているところまでテレポートできるのかを決めるということ

テレポートする範囲は円形ではなく、正方形になります。

例えば中心をX=0、Z=0と指定し、範囲の最大値を5と指定したとします。
その場合は、X=0、Z=0から前後左右に5マス進んだ範囲の中のどこかにテレポートするということです。

チームごとにまとめるか

teamコマンドを使用してチーム分けをしている場合に関係してくる項目。
チームごとにまとめてテレポートさせたい場合はtrue、まとめなくてよい場合はfalseを選択しましょう。

マルチプレイでプレイヤー全員をランダムにテレポートさせたいけど、チームごとにばらけるのは嫌だなんて場合に有効です。

underを指定した場合

true、falseのほかにunderを選択することもできますが、こちらはチームに関するものではなく最大の高さに関するものです。

そのためunderを選択した場合の構文は少し形が変わり、以下のようになります。

/spreadplayers 座標(X,Zのみ) 対象の離れる距離 範囲の最大値 under 最大の高さ チームごとにまとめるか 対象

違いとしては、「under 最大の高さ」が差し込まれています。
最大の高さの部分には数字を入力して、その指定した値以下の高さにしかテレポートしないようになります。

つまりはY座標の指定が大まかにできるというものですね。
具体的なコマンドも置いておきます。

/spreadplayers ~ ~ 0 10 under 20 false @s

上記のコマンドを実行した場合には、「コマンドの実行者が高さ20よりも下の高さで、かつ実行した場所からXZが10マス以内の場所にテレポートする」という感じです。
チームに関してはfalseにしているので、まとまらずにテレポートしますね。

少々脱線してしまいましたが、underを選択すると高さに関する設定もできるということになります。

対象

テレポートさせる対象を指示します。
これはtpコマンドと同じように、@aや@pなどで指定していけばOKです。


一通り説明したので、ここで具体的な例を出そうと思います。

自分自身を座標X=0、Z=0を中心とした5マスの範囲の中でランダムにテレポートさせたい場合は

/spreadplayers 0 0 0 5 false @s

となります。

もしこれがマルチプレイで、プレイヤー同士をある程度距離を設けたい場合は

/spreadplayers 0 0 3 5 false @a

となります。
(プレイヤー同士が3マス離れます)

このように入力して実行すれば、ランダムな位置へとテレポートさせることが可能です。

まとめ

というわけで、今回のまとめです。

今回使ったコマンドはこちら。

今回使ったコマンド
  • コマンドの実行者を高さ20よりも下で、かつ実行した場所からXZが10マス以内の場所にテレポートさせるコマンド
    (チームに関係なくテレポート)
/spreadplayers ~ ~ 0 10 under 20 false @s
  • 自分自身を座標X=0、Z=0を中心とした5マスの範囲の中でランダムにテレポート
    (チームに関係なくテレポート)
/spreadplayers 0 0 0 5 false @p
  • 全てのプレイヤーを座標X=0、Z=0の地点を中心に5マス離れるようにテレポートさせる
    (チームに関係なくテレポート)
/spreadplayers 0 0 3 5 false @a
ポイント
  • spreadplayersコマンド自体がテレポートさせる機能があるので、tpコマンドを使う必要はありません。

この記事は以上になります。

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】