更新日:
1. 準備(最初に一度だけ)
/team add oni "鬼"
/team modify oni color red
/team add nige "逃げる人"
/team modify nige color aqua
/scoreboard objectives add caught deathCount
/gamerule minecraft:keep_inventory true
/gamerule minecraft:immediate_respawn true
この鬼ごっこでは、鬼の攻撃を受けた人は一度倒れて、すぐに鬼として復活します。deathCount は倒れた回数を数えるスコアで、これで「つかまった」を判定します。1.21.10以前のゲームルールは keepInventory と doImmediateRespawn です。
2. チームに分ける
/team join oni Steve
/team join nige Alex Sam Kai
最初の鬼を1人決めて、残りの人を逃げるチームに入れます。ランダムに鬼を決めたいときは /team join oni @r を使います(先に全員を逃げるチームに入れておきます)。
3. 鬼を光らせて、ひと触りでつかまえられるようにする
反復コマンドブロック(常時実行)を3つ置き、それぞれに次のコマンドを入れます。
/effect give @a[team=oni] minecraft:glowing 2 0 true
/effect give @a[team=oni] minecraft:strength 2 255 true
/effect give @a[team=oni] minecraft:resistance 2 4 true
発光で鬼が壁ごしでも見えるようになり、攻撃力上昇で鬼のひと叩きで逃げる人が倒れます。耐性5で、逃げる人が鬼をなぐってもダメージが入りません。発光の使い方は 光らせるコマンド にまとめています。
4. つかまった人を鬼にする
反復コマンドブロックの後ろに、チェーンコマンドブロック(常時実行)をつなげます。
/execute as @a[team=nige,scores={caught=1..}] run team join oni @s
/scoreboard players reset @a caught
1行目が反復、2行目がチェーンです。倒れた逃げる人が鬼チームに入り、そのあと回数を0に戻します。
5. スタートと勝敗
/scoreboard players reset @a caught
/tp @a[team=nige] 0 64 0
/tp @a[team=oni] 0 64 30
/title @a title {"text":"鬼ごっこスタート!","color":"gold"}
勝ちの判定は、別の反復コマンドブロックに入れます。
/execute unless entity @a[team=nige] run title @a title {"text":"鬼の勝ち!","color":"red"}
逃げる人がいなくなったら表示します。時間切れで逃げる人の勝ちにしたいときは、かくれんぼの作り方 の残り時間の仕組みを使います。終わったら反復コマンドブロックを止め、/team empty oni で鬼チームを空にします。
うまくいかないときの確認ポイント
- タッチしても鬼にならない:鬼の攻撃で逃げる人が倒れているか確認します。攻撃力上昇の反復コマンドブロックが動いているかを見ます。
- 鬼が倒されてしまう:耐性のレベルを確認します。
resistance 2 4の4が「耐性5」です。 - アイテムが散らばる:keep_inventory をtrueにしたか確認します。
- 鬼が光らない:コマンドブロックが反復・常時実行になっているか確認します。
よくある質問
統合版でもできますか?
統合版には /team がないため、この方法はJava版向けです。統合版ではタグを使って鬼と逃げる人を分けます。
倒れずにタッチだけで鬼を交代できますか?
コマンドだけでは「たたかれた瞬間」を直接見分けにくいため、ここでは倒れた回数で判定しています。データパックの進捗を使うと、たたかれたことを判定できます。
鬼の足を速くしたいです。
反復コマンドブロックに /effect give @a[team=oni] minecraft:speed 2 1 true を足すと、鬼の足が速くなります。