### Added
- **In-Game Configuration Menu**: Integrated a brand new "Translation Settings" button into the top right of the FTB Quests book. Players can now seamlessly customize their target language, translation provider (Google/MyMemory/DeepL), edit DeepL API keys, and toggle animation settings directly in-game without touching config files.
- **One-Click Cache Clear**: Added a dedicated trash can button next to the settings gear. It instantly flushes all saved translation caches from memory and disk.
- **Universal Backports**: Achieved 100% feature-parity by completely backporting the mod to **Minecraft 1.20.1 and 1.20.4** across both Fabric and Forge/NeoForge!
### Fixed
- **Instant Connection Resets**: Changing the translation provider or API key in the new settings UI now immediately resets strict background connection lockouts, eliminating fake "Server Unavailable" errors.
- **API Rate Limiting**: The background connection check no longer forcefully pings APIs every time the UI is resized or rebuilt. Added a 2-minute cooldown cache to protect against temporary rate-limit bans from Google/DeepL.
- **Micro-stutters**: The translation engine now delegates HTTP requests to an isolated thread pool with background priorities. Previous versions accidentally shared Minecraft's internal `commonPool`, which could momentarily starve rendering and chunk loading loops.
- **Cache Data Loss**: Rebuilt the Translation Cache with disk persistence (`ftbqt-cache.json`). The mod now asynchronously saves translations back to disk 5 seconds after translating, preventing wasted DeepL quotas on game restarts.
- **Memory Leaks**: Refactored Translate Providers into strict Singleton patterns, eliminating thousands of pointless object instantiations when traversing quests.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }