Schedule Command - Delayed Data Pack Functions

Build a /schedule command to run a data pack function after a delay. Set the time in ticks, seconds, or days with append or replace modes.

Generated Command

/schedule function namespace:my_function 100t replace
Version

The 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.

What Is the Minecraft Schedule Command?

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.

Time Units and Conversions

Minecraft runs at a fixed 20 ticks per second. These are the common time conversions used with /schedule:

Real TimeTicksCommand Format
0.05 seconds (1 tick)11t
1 second201s or 20t
5 seconds1005s or 100t
30 seconds60030s or 600t
1 minute1,20060s or 1200t
5 minutes6,000300s or 6000t
20 minutes (1 MC day)24,0001d or 24000t
1 hour72,0003600s 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.

Append vs Replace Modes

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.

Frequently Asked Questions

What is the /schedule command in Minecraft?

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.

What is the difference between append and replace in /schedule?

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.

How do you convert between ticks, seconds, and days in Minecraft?

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.

Can you cancel a scheduled function?

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: