Skip to content

Animation Time Events

Sleys edited this page Aug 2, 2026 · 1 revision

Animation Time Events allow animations to execute logic at specific moments during playback.

Every event references a registered event type and supplies the parameters required by that event.

Three scheduling modes are available:

  • In Time
  • In Period
  • In Interval

These events are lists, so you can use multiple events of the same type and multiple types of events, such as 3 In Time + 1 Period Time


In Time

Executes the event exactly once.

0 ────────●──────────────────►
          0.35

📚 Event Parameters

Field Description
type Registered event type
side Client, Server, Both (Client + Server) & local_client
start Execution time
params Event-specific parameters

Example

"in_time_events": [
  {
    "type": "fracture_ground",
    "side": "client",
    "start": 1.25,
    "params": {
      "edge": [0.0, -0.2, -2.0],
      "joint": "Root",
      "radius": 2.0,
      "pose_time": 1.2
    }
  }
]

In Period

Executes continuously while the animation time remains inside a range.

0 ────────████████████────────►
          start      end

📚 Event Parameters

Field Description
type Registered event type
side Client, Server, Both (Client + Server) & local_client
start Beginning of the active window
end End of the active window
params Event-specific parameters

Example

"in_period_events": [
  {
    "type": "joint_particles",
    "side": "client",
    "start": 0.0,
    "end": 0.2,
    "params": {
      "joint": "Tool_R",
      "particle": "minecraft:crit",
      "offsets": [
        [-0.3,-0.1,-1.6]
      ],
      "step": 4.0,
      "volume":[0.15,0.15,0.15],
      "motion":[0,0,0],
      "amount":1.2
    }
  }
]

💡 Unlike In Time, the callback may execute repeatedly while the playback time remains inside the interval. This mode is intended for effects that must remain active during part of an animation rather than occurring at a single instant.


In Interval

Executes the same event repeatedly at fixed intervals.

0 ──●──●──●──●──●────────────►
    ↑  ↑  ↑  ↑
 interval

📚 Event Parameters

Field Description
type Registered event type
side Client, Server, Both (Client + Server) & local_client
start First execution
interval Time between executions
end Last possible execution
params Event-specific parameters

Example

"in_interval_time_events": [
  {
    "type": "joint_particles",
    "side": "client",
    "start": 0.2,
    "interval": 0.01,
    "end": 0.3,
    "params": {
      "joint": "Tool_R",
      "particle": "minecraft:dripping_obsidian_tear",
      "offsets": [
        [0.0, 1.6, 0.0]
      ],
      "step": 0.0,
      "volume":[0.0, 0.0, -1.2],
      "motion":[0.0, 0.0, 0.0],
      "amount": 96.0
    }
  }
]

⚠️ Implementation Note

The scheduling mode is independent of the event implementation. An event such as fracture_ground or a custom third-party event can be scheduled using In Time, In Period, or In Interval without requiring any changes to the event itself. Scheduling is handled entirely by the animation event wrappers, which invoke the registered event according to the selected timing strategy.

EF: Extended Datapacks

📦 Data

🧰 Core

👁️ Visuals

⚔️ Combat

🗝️ Skill Builder

🛠️ Innate Builder

🗡️ Animation Operations

⚙️ Third-Party

Clone this wiki locally