更新日:
1. 最初に出てくる場所をロビーにする
/setworldspawn 0 100 0
/gamerule minecraft:respawn_radius 0
初めて入った人や、ベッドのない人が死んだときに出てくる場所をロビーにします。2行目で、出てくる場所がばらつかないようにします。1.21.10以前は spawnRadius です。くわしくは スポーン地点を設定するコマンド にまとめています。
2. ブロックを壊されないようにする
反復コマンドブロック(常時実行)に、次のコマンドを入れます。
/gamemode adventure @a[distance=..30,gamemode=survival]
ロビーから30ブロック以内のサバイバルの人を、アドベンチャーモードにします。アドベンチャーモードではブロックを壊したり置いたりできません。ロビーから出たときにサバイバルに戻すには、出口のワープでgamemodeを切り替えます。
3. ダメージと空腹をなくす
同じように反復コマンドブロックに入れます。
/effect give @a[distance=..30] minecraft:resistance 2 4 true
/effect give @a[distance=..30] minecraft:saturation 2 0 true
耐性5でダメージを受けなくなり、満腹度回復でお腹が減らなくなります。
4. いつも昼で晴れにする
/time set day
/weather clear
/gamerule minecraft:advance_time false
/gamerule minecraft:advance_weather false
1.21.10以前のゲームルールは doDaylightCycle と doWeatherCycle です。ワールド全体が止まるので、ロビー専用のワールドやミニゲーム用のサーバーで使います。
5. ワープボタンを置く
インパルスのコマンドブロックをボタンの横に置き、行き先ごとにコマンドを入れます。
/tp @p 200 64 0 90 0
押した人がパルクールのスタートなどへ移動します。tpの使い方は tpコマンドの使い方 にまとめています。
6. 案内の文字を浮かべる
/summon text_display 0 102 5 {text:{text:"ようこそ!\nボタンで各ゲームへ",color:"gold"},billboard:"center"}
空中に浮かぶ案内板を出します(Java版1.21.5以降の書き方)。くわしくは 空中に文字を浮かべるコマンド を見てください。壁に貼る案内なら 看板に文字を書いて置くコマンド でも作れます。
うまくいかないときの確認ポイント
- ロビーに出てこない:ベッドで寝た人は、ベッドの場所に出てきます。
- まだブロックを壊せる:クリエイティブの人は切り替わらないように、サバイバルの人だけにしぼっています。サバイバルの人で試します。
- 時間が止まらない:バージョンに合ったゲームルールの名前を使います。
よくある質問
ロビーの中だけPvPをなくせますか?
耐性のエフェクトでダメージを受けなくなるので、ロビーの中ではPvPのダメージも入りません。
ロビーでアイテムを持ち込ませたくないです。
ロビーの入口のワープで /clear を一緒に実行すると、持ち物を消せます。消えて困る物がないか、先に知らせておきます。
統合版でも作れますか?
統合版でもgamemode・effect・tpは使えます。effectの書き方が違い、ゲームルールの名前も小文字になります。