この記事では、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コマンドを使う必要はありません。
この記事は以上になります。