<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3ATimeline</id>
	<title>Minecraft:Timeline - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3ATimeline"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Timeline&amp;action=history"/>
	<updated>2026-06-10T18:54:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Timeline&amp;diff=134332&amp;oldid=prev</id>
		<title>SyncBot: Sync: new page from Minecraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Timeline&amp;diff=134332&amp;oldid=prev"/>
		<updated>2026-05-27T11:15:06Z</updated>

		<summary type="html">&lt;p&gt;Sync: new page from Minecraft&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{For|a timeline of the game&amp;#039;s history|Chronology of events}}&lt;br /&gt;
{{Exclusive|java}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Timelines&amp;#039;&amp;#039;&amp;#039; control game behavior and visuals based on the absolute day time through [[Minecraft:environment attribute]]s.&lt;br /&gt;
&lt;br /&gt;
== JSON format ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;treeview&amp;quot; style=&amp;quot;margin-block-end: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
* {{nbt|compound}}: The root element of the timeline.&lt;br /&gt;
** {{nbt|integer|period_ticks}}: Optional. Defines the duration in ticks over which the timeline will repeat. If omitted, the timeline will not repeat.&lt;br /&gt;
** {{nbt|string|clock}}: {{json ref|world clock}} to use for this timeline.&lt;br /&gt;
** {{nbt|compound|tracks}}: A map between namespaced [[Minecraft:environment attribute]] IDs and a corresponding attribute track object.&lt;br /&gt;
*** {{nbt|compound|}}: An attribute track.&lt;br /&gt;
**** {{nbt|string}}{{nbt|compound|ease}}: The easing type used to ease the interpolation between keyframes. Either a {{nbt|string}} string name of the interpolation type (see below) or an {{nbt|compound}} object with the field listed below. Default is {{code|linear}}. Note that easing only has an effect for attributes which support interpolation.&lt;br /&gt;
***** {{nbt|list|cubic_bezier}}: A list of 4 {{nbt|double}} doubles providing the coordinates of the 2 control points in the order x1, y1, x2, y2. Each of these coordinates must be between 0 and 1 (inclusive).&lt;br /&gt;
**** {{nbt|string|modifier}}: The ID of an [[Minecraft:Environment attribute#Modifiers|environment attribute modifier]]. The default is {{code|override}}.&lt;br /&gt;
**** {{nbt|list|keyframes}}: A list of keyframes for the track.&lt;br /&gt;
***** {{nbt|compound}}: A keyframe.&lt;br /&gt;
****** {{nbt|integer|ticks}}: A value between 0 and {{code|period_ticks}} (if specified) which defines the tick within the period at which the keyframe&amp;#039;s value will be active.&lt;br /&gt;
****** {{nbt|compound|value}}: The value for the attribute modifier.&lt;br /&gt;
** {{nbt|compound|time_markers}}: Map defining [[Minecraft:time marker]]s.&lt;br /&gt;
*** {{nbt|int}}{{nbt|compound|{{ph|time marker id}}}}: Definition of a time marker. Either an {{nbt|int}} integer representing the tick of the marker or an {{nbt|compound}} object with the following fields:&lt;br /&gt;
**** {{nbt|int|ticks}}: The tick of this marker.&lt;br /&gt;
**** {{nbt|boolean|show_in_commands}}: Whether this marker should be suggested for the {{cmd|time}} command. Defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Easing types ===&lt;br /&gt;
&lt;br /&gt;
{{wip|section=1|Adding graphs for each of the easing types would be helpful.}}&lt;br /&gt;
&lt;br /&gt;
An easing type specifies the interpolation easing between keyframes of an attribute track.&lt;br /&gt;
&lt;br /&gt;
Two easing types are available which do not interpolate into or out from keyframes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Easing type&lt;br /&gt;
! Behavior&lt;br /&gt;
|-&lt;br /&gt;
| {{code|constant}}&lt;br /&gt;
| Always selects the value from the previous keyframe.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|linear}}&lt;br /&gt;
| Linearly interpolates between the previous and next keyframes, also known as {{w|linear interpolation|lerp}}.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The rest of the easing types are all variations of a set of interpolation kinds, resized and moved to fit each segment of the track. Each is available in three forms; {{code|in_}}, {{code|out_}}, and {{code|in_out_}}. {{code|in_}} applies the easing &amp;#039;&amp;#039;from&amp;#039;&amp;#039; the value of a keyframe after it&amp;#039;s been passed, {{code|out_}} applies the easing &amp;#039;&amp;#039;into&amp;#039;&amp;#039; the value of a keyframe before it&amp;#039;s been passed, and {{code|in_out_}} combines the two and applies the easing both &amp;#039;&amp;#039;from&amp;#039;&amp;#039; a keyframe and &amp;#039;&amp;#039;into&amp;#039;&amp;#039; the next one.&lt;br /&gt;
&lt;br /&gt;
The types of easing which support {{code|in_}}, {{code|out_}}, and {{code|in_out_}} are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Interpolation kind&lt;br /&gt;
!Ease in&lt;br /&gt;
!Ease out&lt;br /&gt;
!Ease in and out&lt;br /&gt;
!Easing behavior&lt;br /&gt;
!Ease-out formula&lt;br /&gt;
|-&lt;br /&gt;
| {{code|back}}&lt;br /&gt;
|{{code|in_back}}&lt;br /&gt;
|{{code|out_back}}&lt;br /&gt;
|{{code|in_out_back}}&lt;br /&gt;
|Pulls back beyond the target value before easing into it.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = 1 + 2.70158 (x - 1)^3 + 1.70158(x - 1)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|bounce}}&lt;br /&gt;
|{{code|in_bounce}}&lt;br /&gt;
|{{code|out_bounce}}&lt;br /&gt;
|{{code|in_out_bounce}}&lt;br /&gt;
|Bounces against the target value 3 times before stopping.&lt;br /&gt;
|&amp;lt;math&amp;gt;f(x) = \begin{cases}&lt;br /&gt;
    7.5625 x^2, &amp;amp; \text{if }0 \le x &amp;lt; \frac4{11} \\&lt;br /&gt;
    7.5625 \left(x - \frac6{11}\right)^2 + \frac34, &amp;amp; \text{if }\frac4{11} \le x &amp;lt; \frac8{11} \\&lt;br /&gt;
    7.5625 \left(x - \frac9{11}\right)^2 + \frac{15}{16}, &amp;amp; \text{if }\frac8{11} \le x &amp;lt; \frac{10}{11} \\&lt;br /&gt;
    7.5625 \left(x - \frac{21}{22}\right)^2 + \frac{63}{64}, &amp;amp; \text{if }\frac{10}{11} \le x \le 1&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|circ}}&lt;br /&gt;
|{{code|in_circ}}&lt;br /&gt;
|{{code|out_circ}}&lt;br /&gt;
|{{code|in_out_circ}}&lt;br /&gt;
|Uses a circular curve to ease into the target value.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = \sqrt{1 - (x - 1)^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|elastic}}&lt;br /&gt;
|{{code|in_elastic}}&lt;br /&gt;
|{{code|out_elastic}}&lt;br /&gt;
|{{code|in_out_elastic}}&lt;br /&gt;
|Wobbles around the target value 4 times.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = 2^{-10 x} \sin\left(\frac{2 \pi}3 (10 x - 0.75) \right) + 1&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|sine}}&lt;br /&gt;
|{{code|in_sine}}&lt;br /&gt;
|{{code|out_sine}}&lt;br /&gt;
|{{code|in_out_sine}}&lt;br /&gt;
|Eases into the target value with a sinusoidal curve.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = \sin\left(\frac{\pi x}2\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|quad}}&lt;br /&gt;
|{{code|in_quad}}&lt;br /&gt;
|{{code|out_quad}}&lt;br /&gt;
|{{code|in_out_quad}}&lt;br /&gt;
|A quadratic curve with its origin at the target value.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = 1 - (1 - x)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|cubic}}&lt;br /&gt;
|{{code|in_cubic}}&lt;br /&gt;
|{{code|out_cubic}}&lt;br /&gt;
|{{code|in_out_cubic}}&lt;br /&gt;
|A cubic curve with its origin at the target value.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = 1 - (1 - x)^3&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|quart}}&lt;br /&gt;
|{{code|in_quart}}&lt;br /&gt;
|{{code|out_quart}}&lt;br /&gt;
|{{code|in_out_quart}}&lt;br /&gt;
|A quartic curve with its origin at the target value.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = 1 - (1 - x)^4&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|quint}}&lt;br /&gt;
|{{code|in_quint}}&lt;br /&gt;
|{{code|out_quint}}&lt;br /&gt;
|{{code|in_out_quint}}&lt;br /&gt;
|A quintic curve with its origin at the target value.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = 1 - (1 - x)^5&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{code|expo}}&lt;br /&gt;
|{{code|in_expo}}&lt;br /&gt;
|{{code|out_expo}}&lt;br /&gt;
|{{code|in_out_expo}}&lt;br /&gt;
|An exponential curve with its origin at the starting value.&lt;br /&gt;
|&amp;lt;math&amp;gt;y = 1 - 2^{-10 x}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{HistoryTable&lt;br /&gt;
|{{HistoryLine|java}}&lt;br /&gt;
|{{HistoryLine||1.21.11|dev=25w45a|Added timelines to data packs.}}&lt;br /&gt;
|{{HistoryLine||26.1|dev=snap3|Added a {{cd|clock}} field|Added an optional {{cd|time_markers}} field}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
{{Navbox Java Edition technical|datapack}}&lt;br /&gt;
&lt;br /&gt;
[[Minecraft:de:Zeitleiste]]&lt;br /&gt;
[[Minecraft:ja:タイムライン]]&lt;br /&gt;
[[Minecraft:pt:Linha do tempo]]&lt;br /&gt;
[[Minecraft:zh:时间线定义格式]]&lt;/div&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
</feed>