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

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

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

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

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

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

こんにちは! マインクラフターのナツメ(@natsume_717b)です。

ナツメってこんな人

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

実際にランダムな位置にテレポートしている様子は以下の動画から見れますよ。

この記事では、初めに何のコマンドを使うのかを紹介し、その後に詳しい使い方を見ていきます。

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

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

プレイヤーをランダムにテレポートさせたい場合、spreadplayersコマンドを使うべきです。
というのも、このコマンド1つでランダムな位置にテレポートできるからです。

なので、tpコマンドを使う必要は全くありません。

決まった位置にテレポートするなら、断然tpコマンドをおすすめします。

spreadplayersコマンド は範囲を指定して、その中のどこかにテレポートしてくれるというもの。
コマンドを見てみると、

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

となります。

それぞれ解説していきます。

座標(X,Zのみ)

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

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

高さ(Y)に関しては設定できません。
なので、テレポートした際も着地できる1番高い地点に移動してしまいます。
例を挙げると、屋根がある場合は屋根の上に乗ってしまうということです。

対象の離れる距離

そもそも、このspreadplayersコマンドはプレイヤー同士を引き離すコマンドともいえるものです。
なので、テレポートしたプレイヤーなどの間隔を設定できます。

それがこの項目で決められるということですね。

ですが今回はランダムにテレポートしたいだけですので、適当な数字を入れて構いません。

マルチプレイで遊ぶことを想定する場合は、どれだけの間隔を広げるのかしっかりと決めておきましょう。

範囲の最大値

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

ランダムなテレポートなので、必ずしも指定した数値と同じ距離をテレポートするという訳ではありません。

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

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

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

チームごとにまとめるか

マイクラのScoreboardコマンドを使うと、チーム分けをすることができます。
赤チームや青チームといった具合ですね。

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

チームごとにまとめる場合はtrue、まとめなくてよい場合はfalseを選択しましょう。

underという項目もありますが、筆者もよく分からなかったので割愛。
基本的にtrue、falseで問題ないと思います。

対象

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


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

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

spreadplayers 0 0 0 5 false @p

となります。
(ソロプレイの場合)

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

spreadplayers 0 0 3 5 false @a

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

まとめ

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

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

今回使ったコマンド
  • 自分自身を座標X=0、Z=0を中心とした5マスの範囲の中でランダムにテレポート
spreadplayers 0 0 0 5 false @p
ポイント
  • マルチプレイの場合、プレイヤー同士の間隔など気をつける箇所が出てくるので要注意。

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







関連記事

この記事を共有!