更新日:
しくみ
くり返しコマンドブロック(常時実行)で、「足元が決まったブロックの人」にだけコマンドを実行します。足元のブロックは if block ~ ~-1 ~ で調べます。
1. ジャンプ台(スライムブロック)
/execute as @a at @s if block ~ ~-1 ~ slime_block run effect give @s levitation 1 20 true
スライムブロックに乗ると、浮遊の効果で一気に上へ飛ばされます。最後から2番目の数字を大きくするほど高く上がります。落下ダメージが心配なときは、着地点を水にするか 落下ダメージをなくす設定 を使います。
/execute as @a at @s if block ~ ~-1 ~ slime_block run effect @s levitation 1 20 true
統合版はこの書き方です。
2. 加速床(金ブロック)
/execute as @a at @s if block ~ ~-1 ~ gold_block run effect give @s speed 3 5 true
金ブロックの上を通ると、3秒間とても速く走れます。統合版は effect give を effect にします。
3. ワープ床(エメラルドブロック)
/execute as @a at @s if block ~ ~-1 ~ emerald_block run tp @s 100 64 100
エメラルドブロックに乗ると、決めた座標へ移動します。ワープ先にもエメラルドブロックがあると行ったり来たりしてしまうので、ワープ先は別のブロックにします。
4. 回復する床(ダイヤブロック)
/execute as @a at @s if block ~ ~-1 ~ diamond_block run effect give @s regeneration 1 4 true
上に立っている間、体力が回復します。くわしくは 体力と空腹を回復するコマンド を見てください。
5. 決まった場所のブロックだけにする
/execute as @a at @s if block ~ ~-1 ~ slime_block if entity @s[x=0,y=60,z=0,dx=50,dy=20,dz=50] run effect give @s levitation 1 20 true
ふつうに置いたスライムブロックまでジャンプ台にならないよう、アスレチックの範囲だけに絞ります。
6. 着地のダメージを防ぐ
/execute as @a at @s if block ~ ~-1 ~ slime_block run effect give @s slow_falling 6 0 true
浮遊で高く上がると、落ちたときにダメージを受けます。1のジャンプ台と同じ反復コマンドブロックの後ろに、チェーンコマンドブロックでこの行を足すと、6秒間ゆっくり落ちるようになります。着地点に水を置いたり、ゲームルールで落下ダメージを切る方法(Java版1.21.11以降は fall_damage、それより前は fallDamage。ゲームルール一覧)もあります。
7. ジャンプ力だけ上げる床
/execute as @a at @s if block ~ ~-1 ~ lime_wool run effect give @s jump_boost 2 4 true
勝手に飛ばすのではなく、自分でジャンプしたときだけ高く跳べる床です。アスレチックの大ジャンプに向いています。数字の4を大きくするほど高く跳べます。
8. 乗ったときに1回だけ音を鳴らす
# 反復コマンドブロック
execute as @a[tag=!onpad] at @s if block ~ ~-1 ~ slime_block run playsound minecraft:entity.slime.jump master @s
# チェーン1
tag @a remove onpad
# チェーン2
execute as @a at @s if block ~ ~-1 ~ slime_block run tag @s add onpad
そのままだと、乗っているあいだ毎ティック音が鳴ります。乗っている人にタグを付けておき、タグがない人(今乗ったばかりの人)にだけ音を鳴らします。音の種類は playsoundコマンド で変えられます。
うまくいかないときの確認ポイント
- 何も起きない:コマンドブロックが「反復」「常時実行」か、ブロックの名前が合っているか確認します。
- ハーフブロックの上で効かない:足元のブロックは「立っている位置の1つ下」で調べるので、ハーフブロックや階段の上ではずれることがあります。
- 効果が切れない:/effect clear @a で消せます。
よくある質問
感圧板で作れますか?
はい。感圧板の下にインパルスのコマンドブロックを置き、@p に実行する方法もあります。くり返しコマンドブロックより軽くなります。
前に飛ばすジャンプ台は作れますか?
Java版では、乗った人の前に風の弾(wind_charge)を出す方法などがあります。まずは上に飛ばす方法から試すのがおすすめです。
コマンドが重くなりませんか?
人数が少なければほとんど問題ありません。大きなサーバーでは、範囲を絞る5の方法を使います。