/schedule function namespace:my_function 100t replaceThe namespaced function to schedule (e.g., mypack:my_function)
20 ticks = 1 second
Replace any existing schedule for this function.
The /schedule command schedules a data pack function to run after a specified delay. Use append to queue multiple schedules for the same function, or replace to overwrite the existing schedule.
The /schedule command queues a data pack function to run after a delay. Set the timer in ticks, seconds, or days, and choose between append and replace modes to control how multiple schedules interact. This generator builds the correct syntax for any timer setup.
The syntax is /schedule function [function] [time] [append|replace]. The function runs once after the delay, not on a loop. At 20 ticks per second, 5s equals 100t and 1d equals 24000t (20 real-time minutes).
It is the data pack timer system, a cleaner alternative to repeating command blocks with comparator delays. Use /schedule clear [function] to cancel every pending run of a function.
Minecraft runs at a fixed 20 ticks per second. These are the common time conversions used with /schedule:
| Real Time | Ticks | Command Format |
|---|---|---|
| 0.05 seconds (1 tick) | 1 | 1t |
| 1 second | 20 | 1s or 20t |
| 5 seconds | 100 | 5s or 100t |
| 30 seconds | 600 | 30s or 600t |
| 1 minute | 1,200 | 60s or 1200t |
| 5 minutes | 6,000 | 300s or 6000t |
| 20 minutes (1 MC day) | 24,000 | 1d or 24000t |
| 1 hour | 72,000 | 3600s or 3d |
Self-repeating loops: a function can schedule itself on its last line, like schedule function my_pack:loop 5s, to fire every 5 seconds. Stop it with /schedule clear my_pack:loop.
Replace (default): scheduling the same function twice means the second call overwrites the first timer. Good for cooldown systems where each trigger resets the timer.
Append: each call adds an independent timer without canceling existing ones. Good for wave spawners or per-player events where multiple instances run at once. Queue every wave up front with /schedule function my_pack:wave_2 30s append and /schedule function my_pack:wave_3 60s append.
The distinction matters most when the same function might be scheduled from different sources at the same time.
The /schedule command queues a data pack function to run after a specified delay. The syntax is /schedule function <function> <time> [append|replace]. Time accepts ticks (t), seconds (s), or days (d). The function executes once after the delay, not repeatedly, so use self-scheduling loops for repetition.
Replace (the default) overwrites the previous timer when the same function is scheduled again. Append adds a new timer without canceling existing ones. Use replace for cooldowns where you want one active timer. Use append when you need multiple independent timers for the same function.
1 second = 20 ticks. 1 Minecraft day = 24,000 ticks = 20 real-time minutes. So 5s = 100t and 1d = 24000t. You can use any unit directly in the command, such as /schedule function my_pack:timer 5s or /schedule function my_pack:daily 1d.
Yes. Use /schedule clear <function> to cancel all pending executions of that function. This works for both append and replace schedules. There is no way to cancel a single queued instance: clear removes all pending runs of the named function.
Browse more Minecraft tools: