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.
What you are building
Primary path:
Compose reusable behavior from conditions/actions and use explicit phases for longer gameplay flows.
data/<namespace>/logics/definitions/Compose reusable behavior from conditions/actions and use explicit phases for longer gameplay flows.
Step-by-step
- Write the state machine on paperList phases, entry condition, allowed actions and exit condition.
- Create the smallest reusable logicOne condition → one action.
- Add an objective/sequenceUse named stages instead of one giant tick function.
- Persist only durable stateTemporary presentation timers should not become permanent save flags.
- Make recovery idempotentRe-running a phase repair should produce the same valid state.
- 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.