Argonath Systems is built on Argonath Systems architecture, emphasizing:
┌─────────────────────────────────────────────┐
│ MOD LAYER (06-xx) │
│ End-user content and gameplay features │
│ • mod-quest-tracker │
└─────────────────────────────────────────────┘
▲
│
┌─────────────────────────────────────────────┐
│ FRAMEWORK LAYER (02-05-xx) │
│ Feature-specific implementations │
│ • framework-quest • framework-npc │
│ • framework-ui • framework-config │
│ • framework-storage • framework-objective │
└─────────────────────────────────────────────┘
▲
│
┌─────────────────────────────────────────────┐
│ ADAPTER LAYER (02-adapter-xx) │
│ Game-specific integration bridges │
│ • adapter-hytale │
│ • adapter-mod-api │
└─────────────────────────────────────────────┘
▲
│
┌─────────────────────────────────────────────┐
│ PLATFORM LAYER (01-xx) │
│ Game-agnostic foundation utilities │
│ • platform-core │
│ • platform-sdk │
└─────────────────────────────────────────────┘
Purpose: Provide game-agnostic foundation services
Modules:
platform-core - Core utilities, abstractions, service registryplatform-sdk - Development tools and extensionsKey Responsibilities:
Dependencies: None (foundation layer)
Purpose: Bridge between platform and specific game engines
Modules:
adapter-hytale - Hytale game integrationadapter-mod-api - Generic mod API bridgeKey Responsibilities:
Dependencies: Platform Layer
Purpose: Implement specific features using platform services
Organized by prefix:
02-framework-xxx - Core frameworks (accessor, core)03-framework-xxx - Configuration and data (config, storage, text-styling)04-framework-xxx - Game mechanics (condition, npc, objective)05-framework-xxx - High-level features (quest, ui)Key Modules:
Core (02-xx):
framework-accessor - Data access patternsframework-core - Core framework servicesData Management (03-xx):
framework-config - Configuration systemframework-storage - Persistent data storageframework-text-styling - Text formatting and localizationGame Mechanics (04-xx):
framework-condition - Condition evaluation (if/when logic)framework-npc - NPC management and behaviorsframework-objective - Quest objective systemHigh-Level Features (05-xx):
framework-quest - Complete quest systemframework-ui - User interface frameworkDependencies: Platform Layer, selected Adapters
Purpose: End-user content and complete features
Modules:
mod-quest-tracker - Quest tracking UIKey Responsibilities:
Dependencies: Framework Layer components
The XX- prefix indicates dependency tier:
01- Platform (no dependencies on other Argonath modules)02- Adapters and low-level frameworks03- Mid-level frameworks (data/config)04- High-level frameworks (game mechanics)05- Complex frameworks (quest, ui)06- Mods (complete features)Higher numbers can depend on lower numbers, never the reverse.
┌──────────────┐
│ Quest Mod │ (06)
└──────┬───────┘
│ uses
▼
┌──────────────┐ ┌──────────────┐
│framework- │────▶│framework- │ (05)
│quest │ │ui │
└──────┬───────┘ └──────┬───────┘
│ │
│ uses │ uses
▼ ▼
┌──────────────┐ ┌──────────────┐
│framework- │ │framework- │ (04)
│objective │ │condition │
└──────┬───────┘ └──────┬───────┘
│ │
└─────────┬──────────┘
│ uses
▼
┌─────────────────────────────────────┐
│framework-config / framework-storage │ (03)
└─────────────┬───────────────────────┘
│ uses
▼
┌─────────────────────────────────────┐
│ framework-core / accessor │ (02)
└─────────────┬───────────────────────┘
│ uses
▼
┌─────────────────────────────────────┐
│ platform-core │ (01)
└─────────────────────────────────────┘
Purpose: Pre-configured module collections for common use cases
Available Bundles:
bundle-core - Essential platform + core frameworksbundle-quest - Complete quest system (includes core)Bundle Composition:
bundle-quest includes:
├── platform-core
├── framework-core
├── framework-config
├── framework-storage
├── framework-condition
├── framework-objective
├── framework-quest
└── adapter-hytale
Bundles are convenience packages - you can always use individual modules instead.
platform-coreframework-config provides systemframework-storage provides persistenceframework-condition provides evaluationEvery framework provides extension points:
See Advanced Topics for extension guides.
Central registry for dependency injection and service location.
Loose coupling through event bus.
Builders and factories for object creation.
Pluggable implementations (storage backends, condition evaluators).
Event listeners and callbacks.
Understanding the architecture? You’re ready to start building! Head to Quest Development Guide.