DAI 3.0 · STEP-BY-STEP

Conditions, Logic Definitions, Objectives & Sequences

Compose reusable behavior from conditions/actions and use explicit phases for longer gameplay flows.

Build from scratchTest in MinecraftMultiplayer-safe by designDAI 3.0

What you are building

Primary path: data/<namespace>/logics/definitions/
Compose reusable behavior from conditions/actions and use explicit phases for longer gameplay flows.

Step-by-step

  1. Write the state machine on paperList phases, entry condition, allowed actions and exit condition.
  2. Create the smallest reusable logicOne condition → one action.
  3. Add an objective/sequenceUse named stages instead of one giant tick function.
  4. Persist only durable stateTemporary presentation timers should not become permanent save flags.
  5. Make recovery idempotentRe-running a phase repair should produce the same valid state.
  6. Test skipped/duplicated phasesTeleport, die, reload and manually force state boundaries during development.

Definition of done

  • The feature still works after save/reload.
  • Server state is authoritative; presentation mirrors it.
  • Invalid input cannot duplicate rewards or bypass costs.
  • Two players can use the system without sharing unintended temporary state.
  • Any optional resource pack can be disabled without breaking datapack logic.

Next integration

Once this feature works alone, connect it to a complete loop instead of adding more isolated content. Use the complete-game tracks to see where it belongs in ACMS, Space Between Blocks, MineTrigger or Hollow Spiral.