DAI 3.0 · STEP-BY-STEP

Attributes & Modifiers

Create reusable numeric gameplay state and apply native/custom attribute modifiers without permanently overwriting other systems.

Build from scratchTest in MinecraftMultiplayer-safe by designDAI 3.0

What you are building

Primary path: data/<namespace>/dai_attributes/
Create reusable numeric gameplay state and apply native/custom attribute modifiers without permanently overwriting other systems.

Step-by-step

  1. Name the gameplay quantityExamples: Trion, stamina, heat, shield capacity, gravity multiplier.
  2. Define the attributeCreate it under dai_attributes with sane min/default/max bounds.
  3. Choose base vs modifier ownershipBase values belong to character/content identity; temporary equipment/environment changes should use namespaced modifiers.
  4. Apply modifiers by stable IDRemove only the modifier your pack owns.
  5. Expose feedbackShow the value in HUD/actionbar only when it helps decisions.
  6. Test stackingCombine multiple modifiers and verify unloading one system does not erase another system’s changes.

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.