34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# Architectural Response
|
|
|
|
**Re:** REQ-2026-04-13-rules-mod-config-fix-versioning
|
|
**Date:** 2026-04-13
|
|
|
|
## 1. Verdict
|
|
Fixed in v1.0.2. Root cause was `ModConfig.Type.SERVER` — switched to `COMMON`.
|
|
|
|
## 2. What Changed
|
|
- SERVER configs in `world/serverconfig/` are tied to world load/unload lifecycle — Forge overwrites them every restart
|
|
- COMMON configs in `config/` load once at startup and persist reliably
|
|
- Config path: `config/firefrostrules-common.toml` (was `world/serverconfig/firefrostrules-server.toml`)
|
|
- Loading handler + version bump to 1.0.2 applied to all 6 builds
|
|
- 1.16.5 uses `ModConfig.Loading` (inner class), 1.20.1+ uses `ModConfigEvent.Loading`
|
|
|
|
## 3. Deliverables (all committed + pushed)
|
|
- firefrostrules-1.0.2-1.21.1-neoforge.jar
|
|
- firefrostrules-1.0.2-1.20.1-forge.jar
|
|
- firefrostrules-1.0.2-1.16.5-forge.jar
|
|
- discord-rules-1.0.2-1.21.1-neoforge.jar
|
|
- discord-rules-1.0.2-1.20.1-forge.jar
|
|
- discord-rules-1.0.2-1.16.5-forge.jar
|
|
- CHANGELOG.md, INSTALL.md, CLAUDE.md updated
|
|
|
|
## 4. Otherworld Deploy Steps
|
|
1. Stop Otherworld
|
|
2. Replace jar with firefrostrules-1.0.2-1.20.1-forge.jar
|
|
3. Delete old world/serverconfig/firefrostrules-server.toml
|
|
4. Start server — generates config/firefrostrules-common.toml
|
|
5. Stop — edit config with real values
|
|
6. Start — values persist
|
|
7. Restart again — confirm persistence
|
|
8. Player runs /rules — real Discord rules show
|