Skip to content

Make every <timespan> Independent of Server Tick Rate #8692

Description

@PoomsXP

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

  • I have read the guidelines above and affirm I am following them with this suggestion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: lowest"Nice to have" updates that are not required (tiny low impact bug fixes or QoL enhancements).up for debateWhen the decision is yet to be debated on the issue in question

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions