Add offlinePlayerName field to LinkEntry record, stored only for
offline-mode UUIDs (version 3) since Mojang API cannot resolve them.
Online-mode players continue to use real-time Mojang API resolution.
The field is omitted from JSON when null for clean serialization.
MojangUtils.resolvePlayerName() now accepts an optional fallback name
for offline UUIDs, returning "N/A" when no name is available.
Updated README.md storage constraints and query display rules to
reflect the new offline player name persistence.
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
- LinkedAccountManager: Fix resource leak with try-with-resources for BufferedReader
- MinecraftEventHandler: Use network packets for PlayerJoin link checks (no single_server special case)
- MinecraftEventHandler: Don't prompt already-linked players on join (joinCheck flag)
- LinkCommand/UnlinkCommand: Use network packets for both single_server and multi_server_client modes
- OpSyncManager: Run all sync operations on dedicated executor thread (DMCC-OpSync)
- OpSyncManager: Only include positive OP levels in sync map
- ServerHandler: Trigger OpSync on ServerStarted instead of PlayerJoin
- DiscordManager: Per-guild exception handling in retrieveMember()
- MojangUtils: Fix docstring for UUID format, remove unused offlineUuid()
- en_us.yml: Fix placeholder order in verification log messages
- MinecraftEventHandler: Fix Javadoc (remove "bold"), optimize OpSync event handler
- CoreEvents: Remove unused PlayerJoinLinkCheckEvent
- README.md: Update to reflect network-based player join link checking
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>