Youtubeチャンネルはこちら!コマンド解説を動画で観れます!

【ジャンプ力上昇など】ジャンプに関するコマンドまとめ【マイクラ】

【ジャンプ力上昇など】ジャンプに関するコマンドまとめ【マイクラ】

この記事では、Minecraft Java Edition(バージョン1.18.1)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

ジャンプに関するコマンドを知りたいマインクラフター
「ジャンプ力を上げるにはどういうコマンドを使えばいいの? ジャンプした回数を数えたり、めちゃくちゃ高くジャンプする方法も知りたいな。勝手にジャンプする方法とかもある?」

こんな疑問を解決します!

本記事の内容
  • ジャンプ力上昇にはeffectコマンド
  • ジャンプしたかどうかはscoreboardコマンドで監視
  • 特定の場所で勝手にジャンプしたように見せるにはtpコマンド

こんにちは! マインクラフターのなつめ(@natsume_717b)です。

なつめ

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
配布マップ・ダウンロードページ

この記事ではジャンプに関するコマンドをまとめました。
ジャンプ力を上げる方法や、ジャンプしたことを感知・カウントする方法。また、強制的にジャンプさせる方法がないので、勝手にジャンプしているように見せる方法についても解説しています。

ジャンプという行為はごく自然に行う行為ですので、それをコマンドに扱えるようになると様々なギミックを作ることができますよ。

それでは、さっそく見ていきましょう!



ジャンプ力上昇にはeffectコマンド

純粋にジャンプ力を上げたい場合には、effectコマンドで跳躍力上昇を付与させればOKです。
effectコマンドを使うことで、ポーションの効果などをプレイヤーなどに付与することができるので、ジャンプ力を上げるにはぴったりですね。

というわけで、以下のコマンドを使うことで跳躍力上昇を付与することができます。

/effect give @a minecraft:jump_boost 10 1 true

上記のコマンドの場合は、プレイヤー全員に対して跳躍力上昇Ⅱの効果を10秒間付与しているものになります。

どの部分が何を示しているのか分かりやすいように言語化すると、以下のようになります。

/effect give ターゲットセレクター minecraft:jump_boost 付与される秒数 効果の強さ パーティクルを非表示にするかどうか

めちゃくちゃ高くジャンプできるようにしたいという場合は、効果の強さの部分の値を増やせばよいですし、長く効果を持続させたい場合には秒数の箇所の数字を増やせばOKです。

延々と効果を付与させておきたい場合は、リピートコマンドブロックで付与し続けると残り秒数を気にすることが無くなります。

effectコマンドについてもっと知りたいという方はこちらの記事をどうぞ。

【基礎解説】effectコマンドでエフェクトを扱える【マイクラ】

ジャンプしたかどうかはscoreboardコマンドで監視

ジャンプしたかどうかを判別するには、scoreboardコマンドを使えばOKです。
scoreboardコマンドは本来、特定の行動を行った回数をカウントするコマンドですが、0かそうでないかという風に考えると、行ったかどうかの判定に使えます。

ジャンプをカウントする項目は「minecraft.custom:minecraft.jump」です。
なので、この項目をカウントするスコアボードを作成するには

/scoreboard objectives add A minecraft.custom:minecraft.jump

と打ちこんで実行すればOKです。
Aの部分はスコアボードの名称となっているので、自分の分かりやすいように名前を変更してもらって構いません。

スコアボードの名称を変更した場合は、別のコマンドでスコアボードの値を参照したい際にはその名称を使用する必要があります。

「ジャンプする度にダイヤモンドが付与される」なんてコマンドを組む場合には、

/give @a[scores={A=1..}] minecraft:diamond 1

ターゲットセレクターにスコアボードの種類と値の指定をすればOKです。
「1..」となっているので、ジャンプした回数が1以上を示しているプレイヤーを条件にしています。

なので、ジャンプしているプレイヤーにダイヤモンドが付与されるわけですね。

ただし、このままではスコアボードの値はリセットされるようになっていません。
そこでチェーンコマンドブロックにスコアボードの値をリセットするコマンドを入力して、ダイヤモンドを得るたびにジャンプの回数をカウントするスコアボードの値を0に戻すようにしましょう。

コマンド自体は難しくありません。

/scoreboard players reset @a A

スコアボードの名称を変更して作成している場合には、Aの部分は自分が指定した名称に変更する必要があります。

このスコアボードの値をリセットするコマンドがないと、ジャンプした回数がずっと1以上を示し続けるので、延々とダイヤモンドが付与されてしまいます。

というわけで、ジャンプしたかどうかを判断するにはscoreboardコマンドを使えばOKです。
今回はジャンプしたかどうかで判断しましたが、10回以上ジャンプした場合などといったことにも使えますよ。

scoreboardコマンドについては以下の記事から詳しく知ることができます。

【必修】行動をカウントするscoreboardコマンド【マイクラ】

特定の場所で勝手にジャンプしたように見せるにはtpコマンド

最後に、勝手にジャンプしているように見せるコマンドを紹介します。
勝手にジャンプさせるということはできないのですが、tpコマンドを使うことでジャンプしているように見せることは可能です。

というのも、今いる位置から1マス上にテレポートさせるを繰り返すと、ひとりでにジャンプしているように見せられます。

なので、リピートコマンドブロックにtpコマンドを入力すればいいのですが、ただtpコマンドを入力して実行してしまうと延々と上方向に移動し続けてしまい身動きが取れなくなってしまいます。

こうなると碌に使い物にならない上に、コマンドブロックを無効にしなくてはならなくなったりとデメリットしかありません。

なので、executeコマンドを使って特定の座標の場所だけで上方向にテレポートするようにします。

今回は座標xyz10の地点で勝手にジャンプさせてみます。

execute as @a[x=10,y=10,z=10,dx=0,dy=5,dz=0] at @s run tp @s ~ ~1 ~

上記のコマンドをリピートコマンドブロックで実行し続けることで、xyz10の地点にいるプレイヤーを1マスずつ上にテレポートします。

そして、延々とテレポートすることはありません。
というのもdy=5という指定があるので、y座標が15を超えてしまうとこのコマンドの範囲外となりテレポートすることが無くなります。

重力に従って落下することは変わりないので、1番上まで行くと「1マス上にテレポートしては落下して再び1マス上にテレポート」という行為を自動的に繰り返してしまいます。
なので、1番上の座標に到達した時点で1歩前にテレポートするようなコマンドを組んでおくとスムーズな動作をするようになります。

今回は簡単な説明で済ませてしまいましたが、executeコマンドについて知りたい方は【超便利】executeコマンドは条件や仮定を付与する【マイクラ】からexecuteコマンドの基本を知ることができますよ。

まとめ

というわけで、今回のまとめです。

今回使ったコマンドはこちら。

今回使ったコマンド
  • プレイヤー全員に跳躍力上昇Ⅱを10秒間付与するコマンド
/effect give @a minecraft:jump_boost 10 1 true
  • ジャンプした回数をカウントするスコアボードを作成するコマンド
/scoreboard objectives add A minecraft.custom:minecraft.jump
  • 座標xyz10の地点にいるプレイヤーを1マス上にテレポートさせるコマンド
    (y=15までにいるプレイヤーが対象)
execute as @a[x=10,y=10,z=10,dx=0,dy=5,dz=0] at @s run tp @s ~ ~1 ~
ポイント
  • 跳躍力上昇を付与し続けたい場合には、リピートコマンドブロックで実行し続けると簡単です。
  • ジャンプした回数をカウントするスコアボードは勝手にリセットされることがないので、必要に応じて値をリセットするコマンドと組み合わせましょう。
  • 1マスずつテレポートさせてジャンプしたように見せる場合、最後にコマンドの範囲外にテレポートさせてあげることで、落下によるコマンドの範囲に入ってしまうことを防げます。

この記事は以上になります。