Console /rules now fetches from Discord async (was returning hardcoded fallback without attempting fetch). DIAG logging kept for observability. All 6 builds at 1.0.5. CHANGELOG.md, INSTALL.md, ACTIVE_CONTEXT.md updated. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
92 lines
3.6 KiB
Markdown
92 lines
3.6 KiB
Markdown
# Rules Mod Changelog
|
|
|
|
## [1.0.5] - 2026-04-13
|
|
|
|
### Fixed
|
|
- **Console path never fetched from Discord** — `/rules` from server console hit early return that only read from cache/fallback, never triggered `DiscordFetcher`. Console now fetches async like the player path.
|
|
- **DIAG logs placed after early exit** — moved `[DIAG]` logging before the player/console branch so it fires on every invocation regardless of source
|
|
|
|
### Added
|
|
- `[DIAG]` INFO-level logging on every `/rules` invocation: isPlayer, token length, channel, messageId, isValid
|
|
- INSTALL.md note about testing from console vs in-game
|
|
|
|
### Applies To
|
|
- All 6 builds at 1.0.5 (3 firefrostrules + 3 discordrules)
|
|
|
|
---
|
|
|
|
## [1.0.4] - 2026-04-13 *(diagnostic build — 1.20.1 only)*
|
|
|
|
### Added
|
|
- INFO-level `[DIAG]` logging in RulesCommand: token length, channel ID, message ID, isValid result on every `/rules` invocation
|
|
- INFO-level `[DIAG]` logging in DiscordFetcher: fetch attempt start, raw messageId on validation failure, HTTP target URL
|
|
- Purpose: trace exactly where the config-to-fetch pipeline breaks on Otherworld
|
|
|
|
### Note
|
|
- Only `firefrostrules-1.0.4-1.20.1-forge.jar` was built. Other versions remain at 1.0.3.
|
|
|
|
---
|
|
|
|
## [1.0.3] - 2026-04-13
|
|
|
|
### Fixed
|
|
- **1.20.1: Config events on wrong bus** — `ModConfigEvent.Loading` and `Reloading` fire on the mod event bus, not `MinecraftForge.EVENT_BUS`. Moved to `FMLJavaModLoadingContext.getModEventBus().addListener()`
|
|
- **Config file section headers** — values placed outside `[discord]` section are invisible to the spec. Added prominent warning comments to generated config file
|
|
|
|
### Added
|
|
- Debug logging in RulesCommand (1.20.1) prints token length + channel ID at command time
|
|
- Config file header comment: "Do not remove [section] headers when editing"
|
|
- INSTALL.md updated with section header preservation warning
|
|
|
|
### Applies To
|
|
- All 6 builds bumped to 1.0.3
|
|
|
|
---
|
|
|
|
## [1.0.2] - 2026-04-13
|
|
|
|
### Fixed
|
|
- **Config reset on restart** — switched from `ModConfig.Type.SERVER` to `ModConfig.Type.COMMON`
|
|
- SERVER configs live in `world/serverconfig/` and are tied to world load/unload lifecycle, causing Forge to overwrite edited values on every restart
|
|
- COMMON configs live in `config/` and load once at startup — values persist reliably
|
|
|
|
### Changed
|
|
- Config location: `world/serverconfig/firefrostrules-server.toml` → `config/firefrostrules-common.toml`
|
|
- Config location (generic): `world/serverconfig/discordrules-server.toml` → `config/discordrules-common.toml`
|
|
- Updated `INSTALL.md` with new config path
|
|
|
|
### Breaking
|
|
- Old config file at `world/serverconfig/` will be ignored — must re-enter values in new `config/` location
|
|
|
|
### Applies To
|
|
- `firefrostrules` 1.0.2 (FFG branded, all 3 MC versions)
|
|
- `discordrules` 1.0.2 (generic/CurseForge fork, all 3 MC versions)
|
|
|
|
---
|
|
|
|
## [1.0.1] - 2026-04-13
|
|
|
|
### Fixed
|
|
- Config values no longer reset to defaults on server restart (Forge config spec timing issue)
|
|
- Added `ModConfigEvent.Loading` handler with clear warnings when default config is detected
|
|
|
|
### Added
|
|
- Install procedure documentation in `INSTALL.md`
|
|
- `Loading` event handler logs channel ID on successful config read
|
|
|
|
### Applies To
|
|
- `firefrostrules` 1.0.1 (FFG branded, all 3 MC versions)
|
|
- `discordrules` 1.0.1 (generic/CurseForge fork, all 3 MC versions)
|
|
|
|
---
|
|
|
|
## [1.0.0] - 2026-04-12
|
|
|
|
### Added
|
|
- Initial release
|
|
- `/rules` command fetches rules from a Discord message via bot token
|
|
- 30-minute cache with fallback to defaults
|
|
- 60-second per-player cooldown
|
|
- Configurable via `world/serverconfig/firefrostrules-server.toml`
|
|
- `discordrules` generic fork for CurseForge distribution (no FFG branding, configurable colors)
|