Suggestion
I propose that every events use real elapsed time rather than a fixed number of Minecraft ticks.
For example:
every 1 second:
should execute once every real-world second regardless of the server's configured or actual tick rate.
Why?
The term "second" implies a real-world second rather than a specific number of game ticks.
Making every use real elapsed time would:
Produce consistent behavior across servers.
Match user expectations.
Prevent timers from speeding up or slowing down when TPS differs from 20.
Make periodic tasks more suitable for cooldowns, statistics, API polling, and other time-sensitive systems.
Other
every 1 second is currently based on 20 ticks.
This means the real-world interval changes when the server's tick rate differs from 20 TPS:
20 TPS → every 1.0 seconds
30 TPS → every ~0.67 seconds
10 TPS → every 2.0 seconds
As a result, the same script can behave differently across servers.
Tick-based scheduling would still be available through explicit tick intervals:
every 20 ticks:
This allows scripts that need game-time precision to continue using ticks while making time units behave according to their literal meaning.
Agreement
Suggestion
I propose that every events use real elapsed time rather than a fixed number of Minecraft ticks.
For example:
every 1 second:
should execute once every real-world second regardless of the server's configured or actual tick rate.
Why?
The term "second" implies a real-world second rather than a specific number of game ticks.
Making every use real elapsed time would:
Produce consistent behavior across servers.
Match user expectations.
Prevent timers from speeding up or slowing down when TPS differs from 20.
Make periodic tasks more suitable for cooldowns, statistics, API polling, and other time-sensitive systems.
Other
every 1 second is currently based on 20 ticks.
This means the real-world interval changes when the server's tick rate differs from 20 TPS:
20 TPS → every 1.0 seconds
30 TPS → every ~0.67 seconds
10 TPS → every 2.0 seconds
As a result, the same script can behave differently across servers.
Tick-based scheduling would still be available through explicit tick intervals:
every 20 ticks:
This allows scripts that need game-time precision to continue using ticks while making time units behave according to their literal meaning.
Agreement