Timeline

For a timeline of the game's history, see Chronology of events.
This article is a stub.
 
You can help by expanding it.
This article describes content that is currently in development for Java Edition.
 
This content has appeared in development versions for Java Edition, but the full update adding it has not been released yet.
This feature is exclusive to Java Edition.
 

Timelines control game behavior and visuals based on the absolute day time through environment attributes.

JSON format

  • [NBT Compound / JSON Object]: The root element of the timeline.
    • [Int] period_ticks: Optional. Defines the duration in ticks over which the timeline will repeat. If omitted, the timeline will not repeat.
    • [NBT Compound / JSON Object] tracks: A map between namespaced environment attribute IDs and a corresponding attribute track object.
      • [NBT Compound / JSON Object]: An attribute track.
        • [String] ease: The easing type used to ease the interpolation between keyframes (see below). Default is linear. Note that easing only has an effect for attributes which support interpolation.
        • [String] modifier: The ID of an environment attribute modifier. The default is override.
        • [NBT List / JSON Array] keyframes: A list of keyframes for the track.
          • [NBT Compound / JSON Object]: A keyframe.
            • [Int] ticks: A value between 0 and period_ticks (if specified) which defines the tick within the period at which the keyframe's value will be active.
            • [NBT Compound / JSON Object] value: The value for the attribute modifier.

Easing types

This section is a work in progress.
 
Please help expand and improve it. The talk page may contain suggestions.
Note:
Describe the behavior of each type, and maybe the exact formula(s) used.

An easing type specifies the interpolation easing between keyframes of an attribute track.

Two easing types are available which do not interpolate into or out from keyframes:

Easing type Behavior
constant Always selects the value from the previous keyframe.
linear Linearly interpolates between the previous and next keyframes, also known as lerp.

The rest of the easing types are all variations of a set of interpolation kinds. Each is available in three forms; in_, out_, and in_out_. in_ applies the easing from the value of a keyframe after it's been passed, out_ applies the easing into the value of a keyframe before it's been passed, and in_out_ combines the two and applies the easing both from a keyframe and into the next one.

The types of easing which support in_, out_, and in_out_ are as follows:

Interpolation kind
back
bounce
circ
cubic
elastic
expo
quad
quart
quint
sine

For completeness, here is a complete list of all easing types:

Easing type
constant
linear
in_back
in_bounce
in_circ
in_cubic
in_elastic
in_expo
in_quad
in_quart
in_quint
in_sine
in_out_back
in_out_bounce
in_out_circ
in_out_cubic
in_out_elastic
in_out_expo
in_out_quad
in_out_quart
in_out_quint
in_out_sine
out_back
out_bounce
out_circ
out_cubic
out_elastic
out_expo
out_quad
out_quart
out_quint
out_sine

History

Upcoming Java Edition
25w45aAdded timelines to data packs.

Navigation