MC CommanderMinecraft非公式コマンド支援

ドロッパー(落下ゲーム)をコマンドで作る方法

高い所から飛び降りて、障害物をよけながら下の水に着地するミニゲームです。水に入ったら次のステージへ、地面に落ちたらやり直し、という流れをコマンドで作ります。

ミニゲームドロッパーJava版・統合版

tpコマンドを作る

更新日:

1. 準備(最初に一度だけ)

/gamerule keep_inventory true
/gamerule immediate_respawn true
/spawnpoint @a 0 200 0

地面に落ちて死んでも、すぐにスタート地点(0 200 0)から復活します。1.21.10以前と統合版は keepInventory・doImmediateRespawn と書きます。

2. ステージ1の水に着地したら次へ(くり返し)

/execute as @a at @s if block ~ ~ ~ water if entity @s[x=-10,y=100,z=-10,dx=20,dy=10,dz=20] run tp @s 100 200 0

くり返しコマンドブロック(常時実行)に入れます。ステージ1のゴールの水(Y=100あたり)に入った人を、ステージ2のスタート(100 200 0)に移動させます。ステージごとに範囲と行き先を変えたコマンドを並べます。

3. 復活地点を次のステージにする

/execute as @a at @s if block ~ ~ ~ water if entity @s[x=-10,y=100,z=-10,dx=20,dy=10,dz=20] run spawnpoint @s 100 200 0

2と同じ条件で復活地点も動かすと、ステージ2で失敗したときにステージ2から始められます。2より前にこのコマンドを実行するように並べます。復活地点の決め方は spawnpointコマンドの使い方 を見てください。

4. 最後のステージでクリアを知らせる

/execute as @a at @s if block ~ ~ ~ water if entity @s[x=190,y=100,z=-10,dx=20,dy=10,dz=20] run tellraw @a [{"selector":"@s"},{"text":" がクリアしました!","color":"gold"}]

最後の水に入った人を全員に知らせます。続けてロビーへ tp すると、何度もメッセージが出るのを防げます。

5. タイムを計る(Java版)

/scoreboard objectives add time dummy "タイム"
/scoreboard players add @a[tag=playing] time 1

1行目は最初に1回だけ実行します。スタートするときに /tag @a add playing で playing タグを付け、4のゴールのコマンドでタグを外すと、ゴールした人のタイムが止まります。2行目をくり返しコマンドブロックに入れると、遊んでいる人のスコアが1秒に20ずつ増えます。タイムの表示のしかたは パルクールをコマンドで作る方法 のタイマーと同じです。

うまくいかないときの確認ポイント

よくある質問

水以外のブロックをゴールにできますか?

if block ~ ~-1 ~ gold_block のようにすると、金ブロックに着地したらゴールにできます。

落下ダメージをなくしたほうがいいですか?

地面に落ちたら失敗にするので、落下ダメージはそのままにしておきます。

ステージをいくつ作れますか?

ステージの数だけ2と3のコマンドを並べれば、いくつでも作れます。

関連ページ

パルクールをコマンドで作る方法

アスレチックの作り方です。

spawnpointコマンドの使い方

復活地点を決めます。

ジャンプ台・加速床・ワープ床を作るコマンド

乗ると効果が出る床です。

足場が消えるゲーム(TNTラン)

ほかのミニゲームです。

コマンド辞典

基本構文とコマンド別の使い方を確認できます。