Modscraper Modscraper Minecraft
AoA Core logo

AoA Core

Mod

by WellRareSteak

Progression, team, and authority layer for the AoA modpack. NarrativeEvent bus, stage-guard recipe/loot conditions, and more in-depth pack layering not possible by kubejs or other scripting mods. All future mods made by me will use this as a library mod

Type

Mod

CurseForge Downloads

2,930

CurseForge ID

1553962

Last Updated

Jul 13, 2026

Description

AoA Core is the foundational layer of the pack's narrative control plane. It introduces a typed NarrativeEvent system on top of NeoForge.EVENT_BUS, a PlayerLedger persisted via NeoForge AttachmentType, the Soul Pact team item, the Unidentified Mineral ore-vision item, the Investiture Altar block, and stage-held conditions for recipes and loot.

The contract surface is two-phase: NarrativeEvent.Pre is cancellable for validation (witness checks, cooldowns), and NarrativeEvent.Post fires the consequences (ledger writes, downstream stage grants, ore reveal logic). Persistence survives death without copy() boilerplate. Both AStages and Curios are optional — when AStages is present, stage grants flow through AStagesBridge; when Curios is present, the Soul Pact occupies its slot. With either missing, the bus and ledger still function and the affected features degrade rather than crash.

v0.1.0 ships:

  • NarrativeEvent bus — NarrativeEvent.Pre/Post, NarrativeDispatcher, NarrativeEventType builder, NarrativeEventCategory, two registered events out of the box (aoacore:test_event, aoacore:investiture) and a NarrativeDebugListener for verifying dispatch end-to-end
  • Witness Ledger — PlayerLedger AttachmentType, LedgerEntry and IndexEntry records, LedgerEventType + LedgerRole, immutable LedgerAPI for read access, single-entry-point LedgerWriter
  • Team layer — AoaTeam, AoaPlayerRecord, AoaTeamEvents
  • Soul Pact item + SoulPactScreen management GUI (registered through AoaCoreMenuTypes)
  • Unidentified Mineral item + OreVisionEvents + RestrictedOreIndex for substitution and reveal logic
  • Investiture Altar block (com.aoa.core.world.InvestitureAltarBlock) registered through AoaCoreBlocks
  • aoacore:stage_held recipe condition + matching loot condition (StageHeldRecipeCondition, StageHeldLootCondition)
  • AoaHotfix SPI interface + HotfixRegistry for service-loader-discovered downstream mods
  • AStagesBridge — active when AStages is loaded, no-op otherwise
  • Commands via AoaCoreCommands — narrative event dispatch with grant_personal / grant_team, event lookup by display_name / event_name

Dependencies:

  • NeoForge [21.1.228,) — required
  • Minecraft [1.21.1, 1.21.2) — required
  • AStages [2.0.3,) — optional (stage grant bridge; mod functions without it)
  • Curios [9.5.1,) — optional (Soul Pact slot binding)

License: All Rights Reserved.

Scope: Built specifically for the Ascension of Ages modpack. Registered narrative event types and the Investiture altar are pack-canon. Not designed for general-purpose reuse.

Similar Mods

Included in Modpacks

External Resources