## [1.8.28] - 2026-08-23
### Fixed
- **Dynamic GameRule World Save Persistence (`GameRuleMapMixin`)**: Added mixin to vanilla `GameRuleMap` (`SavedData`) to dynamically accept registered dynamic GameRules on `has()`, `get()`, and `set()`. Ensures dynamic GameRule values modified via `/gamerule` commands are properly saved to disk (`level.dat` / `game_rules.dat`) and persist across game and server restarts.
- **Pre-Command Tree Registry Hook (`CommandRegistrationCallback`)**: Integrated `CommandRegistrationCallback.EVENT` into `DynamicRegistryScanner.subscribe(...)` to execute discovery sweeps immediately before Brigadier compiles the `/gamerule` command tree, ensuring modded item GameRules are recognized from the very first frame without requiring `/reload`.
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" }