コマンド/delaycommand

Last-modified: 2021-01-23 (土) 12:31:47

What is This?

別のコマンドを遅延実行されるためのコマンド。
レッドストーンリピーターを使わなくてもコマンドの実行を遅延させることができる。

How to Use?

別のコマンドを遅延して実行

構文/delaycommand <遅延時間(秒)> <別のコマンド>
説明<別のコマンド>を<遅延時間(秒)>分だけ遅延して実行する。
備考<遅延時間(秒)>には少数も使用可能である。最小単位は1tick(0.05秒)。0を指定した場合は即時に実行される。

例:/delaycommand 3.5 say こんにちわ

コマンド実行から3.5秒経つと、「/say こんにちわ」が実行される。

遅延中のコマンドの実行を取り消す

構文/delayCommand reset x y z
説明/delayCommandを実行した座標(x, y, z)で遅延中の処理を停止する。

具体的な使い方は以下の通り。

① 座標(100, 20, 40)のコマブロで「/delaycommand 10 say こんにちわ」を実行。

② 5秒後に「/delayCommand reset 100 20 40」を実行。

③ ①はキャンセルされたため、①から10秒経っても「/say こんにちわ」は実行されない。

遅延中のコマンドの一覧を表示

構文/delayCommand list
説明/delayCommandを実行して遅延処理中の座標を全て取得する。

特殊な使い方①:セレクターについて

遅延実行時のセレクターについて 参照。

特殊な使い方②:リアルタイム遅延について

遅延のカウントダウンはサーバー内のtick処理によって制御されている。
通常は1tickあたり0.05秒だが、サーバーがラグい場合は1tickの時間が0.5秒など遅延する可能性がある。
そのため、「/delaycommand 100 say 1234」としても、サーバーがラグい場合はもっと100秒後よりももっと後に実行される。

カウントダウン処理をtick計算ではなく、現実時間計算で行いたい場合は遅延時間に「read:<遅延時間>」と指定する。

例:/delaycommand real:1 say 1234

ただしこのように指定した場合は、最大で1秒実行時間がずれる可能性がある。ドラ谷やソマの谷のボスカウントダウンなど、数秒の誤差は影響しないもので利用されている。