diff --git a/wiki/Addon-Development.md b/wiki/Addon-Development.md new file mode 100644 index 000000000..943d0ce6e --- /dev/null +++ b/wiki/Addon-Development.md @@ -0,0 +1,23 @@ +# Addon Development + +## Integration Rules + +1. Integrate via `echocore` public services. +2. Register terminal navigation through `echoterminal` public profile APIs. +3. Keep chapter logic, persistence, and reward authority inside the owning addon. +4. Avoid direct mutation of another chapter's save domain. + +## Recommended Addon Skeleton + +- Module metadata and Gradle wiring +- Chapter-owned progression state +- Worldgen/content registrations +- Terminal navigation registration +- Optional recipe provider registration +- GameTests / validation hooks + +## Compatibility Philosophy + +- Be tolerant of missing optional addons. +- Fail gracefully on duplicate registration attempts. +- Preserve forward compatibility by relying on contract types, not internals. diff --git a/wiki/Architecture.md b/wiki/Architecture.md new file mode 100644 index 000000000..08da9ecd0 --- /dev/null +++ b/wiki/Architecture.md @@ -0,0 +1,24 @@ +# Architecture + +## Layer Model + +- **`echocore` (service layer):** shared profile state, faction data, route records, diagnostics, rewards, and cross-module contracts. +- **`echoterminal` (presentation layer):** shared terminal surfaces and navigation profile routing. +- **Campaign addons (domain layer):** chapter-specific gameplay, progression, worldgen, entities, and rewards. + +## Integration Contracts + +### Echo Core + +Addons should publish and consume shared data through `echocore` service interfaces rather than direct save-data coupling. + +### Echo Terminal + +Navigation is registered via terminal profile types (for owned chapter surfaces), and recipe-aware modules can register recipe providers for shared indexing/search. + +## Why This Design + +- Reduces brittle cross-addon dependencies +- Keeps chapters independently shippable +- Preserves a consistent terminal UX across the full stack +- Enables progressive chapter expansion without rewriting the base campaign diff --git a/wiki/Build-and-Release.md b/wiki/Build-and-Release.md new file mode 100644 index 000000000..8421941ed --- /dev/null +++ b/wiki/Build-and-Release.md @@ -0,0 +1,33 @@ +# Build and Release + +## Build Entire Workspace + +```powershell +.\gradlew.bat buildEchoWorkspace +``` + +## Run Full Verification Gate + +```powershell +.\gradlew.bat verifyEchoRelease --warning-mode all +``` + +## Copy Built Jars to Modpack Profile + +```powershell +.\gradlew.bat copyEchoJarsToModpack +``` + +## Additional Validation + +```powershell +python -m pip install -r tools\requirements.txt +python tools\validate_resources.py +python tools\validate_gameplay_data.py +``` + +## Version Contract + +- Tags follow `v..` (optional prerelease suffix). +- Tag version must match module release versions for that cut. +- Release title should mirror the exact tag. diff --git a/wiki/Getting-Started.md b/wiki/Getting-Started.md new file mode 100644 index 000000000..8852b8c25 --- /dev/null +++ b/wiki/Getting-Started.md @@ -0,0 +1,22 @@ +# Getting Started + +## First World Flow (Ashfall Entry) + +1. Spawn in the compact drop pod and collect starter supplies from pod lockers. +2. Establish first-night shelter, clean water, and a basic weapon. +3. Follow ECHO terminal prompts for survival and machine progression. +4. Build your early chain: Hand Recycler → Micro Generator → Filter Workbench → Water Purifier → Battery Bank. +5. Use scanner intel and route planning to safely expand into POIs and guardian progress. + +## Recommended New-Player Loop + +- Keep hydration and filter state stable before long expeditions. +- Treat dirty water as emergency-only. +- Read route hazard reports before committing to deeper nodes. +- Use terminal pages (What Now, Mission Graph, Vitals, Route Records) to avoid dead-ends. + +## Progression Arc + +- **Ashfall** introduces survival, faction pressure, power, and Nexus access. +- **Orbital Remnants** continues post-Nexus route consequences. +- **Further chapters** (Stationfall, Nexus Protocol, Industrial Nexus, Blackbox Protocol) expand story and systems through shared APIs. diff --git a/wiki/Home.md b/wiki/Home.md new file mode 100644 index 000000000..0d9e67cdd --- /dev/null +++ b/wiki/Home.md @@ -0,0 +1,39 @@ +# ECHO Mod Stack Wiki + +Welcome to the official documentation hub for the **ECHO mod stack ecosystem**. + +ECHO is a modular NeoForge experience built around a shared runtime (`echocore`) and a shared UI layer (`echoterminal`), with campaign chapters delivered as interoperable addons. + +## Quick Navigation + +- [[Getting Started]] +- [[Architecture]] +- [[Modules and Versions]] +- [[Progression Guide]] +- [[Addon Development]] +- [[Build and Release]] +- [[Troubleshooting]] +- [[Lore and World Canon]] + +## What is the “Ecosystem”? + +The ECHO ecosystem includes: + +1. **Core runtime services** (`echocore`) +2. **Terminal UX shell and shared surfaces** (`echoterminal`) +3. **Main campaign module** (`echoashfallprotocol`) +4. **Expansion chapters/addons** (Orbital, Stationfall, Nexus, Industrial, Blackbox, and more) +5. **Tooling and release workflow** used to validate and ship the full stack + +## Supported Baseline + +- Minecraft `26.1.2` +- NeoForge `26.1.2.29-beta`+ +- Java `25+` + +## Stack Principles + +- **Shared state through contracts:** addons integrate through public `echocore` APIs. +- **Chapter ownership:** each addon owns its own progression, rewards, and persistence. +- **Terminal as shell:** `echoterminal` routes and presents data; it does not own chapter logic. +- **Composable world narrative:** each chapter extends the route without hard dependencies on private internals of other modules. diff --git a/wiki/Lore-and-World-Canon.md b/wiki/Lore-and-World-Canon.md new file mode 100644 index 000000000..238d77891 --- /dev/null +++ b/wiki/Lore-and-World-Canon.md @@ -0,0 +1,14 @@ +# Lore and World Canon + +ECHO’s tone blends tactical survival operations with eerie post-collapse mystery. + +## Canon Guidance + +- Operational clarity first: player always has a next actionable objective. +- Atmosphere supports gameplay: lore should reinforce route pressure, hazard context, and faction motives. +- Chapters build continuity: each addon extends shared world state and route consequences. + +## References + +- `LORE_BIBLE.md` for writing guardrails +- chapter mission/archives data for localized canon beats diff --git a/wiki/Modules-and-Versions.md b/wiki/Modules-and-Versions.md new file mode 100644 index 000000000..7cc3987fc --- /dev/null +++ b/wiki/Modules-and-Versions.md @@ -0,0 +1,24 @@ +# Modules and Versions + +## Public Stack + +| Module | Version | Role | +|---|---:|---| +| `echocore` | `1.1.0` | Shared service contracts and persistence surfaces | +| `echoterminal` | `1.1.0` | Shared terminal shell and route UI | +| `echoashfallprotocol` | `1.3.0` | Main campaign and entry progression | +| `echoorbitalremnants` | `1.5.0` | Post-Nexus orbital continuation | +| `echoagriculturereclamation` | `0.1.0` | Ecology and food-route recovery chapter | +| `echostationfall` | `1.1.0` | Station horror/progression chapter | +| `echonexusprotocol` | `1.0.0` | Nexus corruption and escalation chapter | +| `echoindustrialnexus` | `0.1.0` | Industrial automation/recovery chapter | +| `echoblackboxprotocol` | `1.0.0` | Late-game blackbox finale chapter | + +## Workspace Module Sets + +The build can target a **beta-only** addon set or **all** addons by `echoAddonSet`. + +- `beta`: core + beta addon list +- `all`: beta + release addon list + +See root `settings.gradle` for authoritative inclusion logic. diff --git a/wiki/Progression-Guide.md b/wiki/Progression-Guide.md new file mode 100644 index 000000000..be9ffb2d5 --- /dev/null +++ b/wiki/Progression-Guide.md @@ -0,0 +1,19 @@ +# Progression Guide + +## Canonical Route (High Level) + +1. **Podfall survival** and baseline crafting +2. **Machine and filter stabilization** +3. **POI scouting and route risk management** +4. **Guardian / relay escalation** +5. **Nexus confrontation and final branch choice** +6. **Post-Nexus chapter expansion** through Orbital and downstream addons + +## Important Systems to Track + +- Hydration and contamination +- Radiation and mutations +- Toxic air / filter load +- Power and machine throughput +- Faction standing and contract impacts +- Route records and mission graph checkpoints diff --git a/wiki/Troubleshooting.md b/wiki/Troubleshooting.md new file mode 100644 index 000000000..857cec72f --- /dev/null +++ b/wiki/Troubleshooting.md @@ -0,0 +1,29 @@ +# Troubleshooting + +## Common Issues + +### Missing or mismatched jars + +Run the copy task and ensure only one current jar exists per module in the modpack profile. + +### Release verification failures + +- Re-run resource and gameplay validators. +- Confirm all required modules for your chosen addon set are present. +- Run with `--warning-mode all` for better diagnostics. + +### Old world behavior drift + +Legacy worlds may require new chunk generation to surface current POI/resource distribution updates. + +## Bug Report Template + +```text +Version / mod list: +World age and seed: +What you expected: +What happened: +Steps to reproduce: +Screenshots or crash report: +Coordinates / biome / POI: +```