MC CommanderMinecraft非公式コマンド支援

stopwatchコマンドの使い方

Java版1.21.11から、本当の時間(秒)を計れる /stopwatch コマンドが使えるようになりました。ゲームが重くても時間がずれないので、パルクールやレースのタイム計測に向いています。

stopwatchexecuteJava版1.21.11以降

executeコマンドを作る

更新日:

1. ストップウォッチを作る

/stopwatch create race:time

race:time はストップウォッチの名前で、名前空間:名前 の形で付けます。作った瞬間から時間を数え始めます。いくつでも作れるので、コースごとに名前を変えて使えます。

2. 経過時間を見る

/stopwatch query race:time

作ってから(または最後にリセットしてから)何秒たったかがチャットに出ます。ゲームのティックではなく本当の時間なので、tickコマンド でゲームの速さを変えても、サーバーが重くても、時間はずれません。

3. 0からやり直す・消す

/stopwatch restart race:time
/stopwatch remove race:time

restart で0秒に戻して数え直します。スタートの感圧板の下のコマンドブロックに入れると、通るたびに計測が始まります。いらなくなったら remove で消します。

4. タイムをスコアに入れる

/scoreboard objectives add laptime dummy "タイム(1/100秒)"
execute as @p store result score @s laptime run stopwatch query race:time 100

最後の 100 は倍率です。秒数を100倍して小数を切り捨てるので、12.345秒なら1234(0.01秒単位)が入ります。秒だけでよければ倍率を書かずに使います。store のしくみは execute storeの使い方 にまとめています。ゴールの感圧板の下に置くと、ゴールした人のタイムが残ります。

5. 時間で条件を分ける

execute if stopwatch race:time 60.. run title @a title {"text":"時間切れ!","color":"red"}
execute if stopwatch race:time ..30 run say 30秒以内です

execute if stopwatch で、経過した秒数が範囲に入っているかを調べられます。60.. は60秒以上、..30 は30秒以下です。反復ブロックで使うと条件に合う間ずっと動くので、1回だけ出したいときはタグやスコアで止めます。数え下げる表示は カウントダウンを作るコマンド も参考にしてください。

6. ティックで数える方法との違い

これまでのタイム計測は、スコアを1ティックごとに1増やして20で割る方法が一般的でした。この方法はサーバーが重くなるとティックが遅れ、表示されるタイムが本当の時間より短くなります。stopwatch は本当の時間で数えるので、記録を競うゲームではこちらが正確です。ゲームを一時停止している間も、ワールドが動いていれば時間は進みます。パルクールの作り方 のタイム計測を、この方法に置きかえることもできます。

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

よくある質問

ストップウォッチは止められますか?

一時停止のコマンドはありません。止めたときの時間は、その瞬間にスコアへ入れて残します。

ワールドを閉じても時間は残りますか?

ワールドが動いている間だけ進みます。閉じている間の時間は数えません。

名前に名前空間を付けないとどうなりますか?

minecraft: が付いた名前として扱われます。ほかのデータパックと重ならないよう、自分の名前空間を付けるのがおすすめです。

関連ページ

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

タイム計測を使うコースの例です。

execute storeの使い方

タイムをスコアに入れる方法です。

tickコマンドの使い方

ゲームの速さと時間の関係です。

氷のボートレースをコマンドで作る方法

レースのタイムにも使えます。

コマンド辞典

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