schedule — Scheduler API
Phase: Server
Tick-based task scheduling. One server tick is 1/20 of a second (50 ms at 20 TPS).
note
All scheduled tasks are cleared automatically when /atomicoffe reload is run.
schedule.after(ticks, fn)
Runs fn once after ticks server ticks have elapsed.
-- Announce in 5 seconds (100 ticks)
schedule.after(100, function()
server.broadcast("5 seconds have passed!")
end)
schedule.every(ticks, fn) → id
Runs fn every ticks server ticks, indefinitely. Returns a task ID that can be used with schedule.cancel.
-- Broadcast TPS every 10 seconds
local taskId = schedule.every(200, function()
server.broadcast("Current TPS: " .. server.getTps())
end)
schedule.cancel(id)
Stops a repeating task created by schedule.every.
local id = schedule.every(20, function()
-- runs every second
end)
-- Stop it after 10 seconds
schedule.after(200, function()
schedule.cancel(id)
end)
schedule.clear()
Cancels all pending one-shot and repeating tasks and resets the internal tick counter.
schedule.clear()
Quick Reference
| Method | Description |
|---|---|
schedule.after(ticks, fn) | Run once after N ticks |
schedule.every(ticks, fn) → id | Run every N ticks, returns task ID |
schedule.cancel(id) | Cancel a repeating task by ID |
schedule.clear() | Cancel all tasks |