DAI 3.0 · NATIVE BLOCKS

Build Native Grid Blocks

Create always-on lights, boost floors and interactive panels without borrowing a vanilla block carrier.

1. Start with a registry-backed block

In Creator → DAI Content choose Native Block Starter. Keep registry_backed: true and native_registry: "block". A new block ID is registry-static, so restart after adding it.

2. Give it real light and physics

"block": {
  "hardness": 2.0,
  "sound": "metal",
  "luminance": 15,
  "emissive_rendering": true,
  "speed_factor": 1.2,
  "states": ["powered"],
  "redstone_state": "powered"
}

This replaces invisible minecraft:light helper cells for authored lamps.

3. Add lifecycle behavior

"events": {
  "use": "action:demo:toggle_panel",
  "step": "action:demo:boost_step",
  "redstone_changed": "action:demo:redstone"
}

Other callbacks include place, break, attack, neighbor_changed, entity_inside, random_tick and scheduled_tick.

Use the Creator: these schemas can be pasted into the type-specific JSON fields in DAI Content / Runtime Definitions. Unknown fields are preserved on import/export.