Commit graph

289 commits

Author SHA1 Message Date
copilot-swe-agent[bot]
7afea647a5 feat: persist offline player name in LinkEntry for proper display in links command
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>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
b2f841e1fa Fix multiple review issues: resource leak, OP sync timing, network packet consistency, and more
- 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>
2026-03-11 21:36:11 +08:00
Xujiayao
7449de40ba reload时清除所有待使用code 2026-03-11 21:36:11 +08:00
Xujiayao
5aef1eb1c4 Format 2026-03-11 21:36:11 +08:00
Xujiayao
d97c8f472d 更好的op sync时机 2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
9fbf1773ec Fix ClickEvent API, redesign link messages with inline click-to-copy/suggest, fix help visibility for MC players, fix OP sync on reload
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
1945cf2e19 Fix compilation errors, NPE, help visibility, auto-complete, click-to-copy, file path rename
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
04874111ed fix: skip OP sync for profiles not in cache instead of using empty username
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
461bbe8d39 feat: implement per-server OP level resolution and sync_op_level_to_minecraft
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
95095b3c32 fix: rename links path, improve messages, fix help visibility, remove unnecessary messages
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
0a89500cbe fix: add caching for name resolution, improve shutdown docs
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
e578e43ce4 refactor: rename and reorganize linking packets, fix OP resolution, improve logs and file path
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
f168b515d3 Reorganize network packet classes into sub-packages
- Move command packets into console/, execute/, info/ sub-packages
- Move linking packets into commands/link/ and commands/unlink/
- Rename LinkCodeRequestPacket → LinkRequestPacket
- Rename LinkCodeResponsePacket → LinkResponsePacket
- Rename UnlinkByUuidRequestPacket → UnlinkRequestPacket
- Rename UnlinkByUuidResponsePacket → UnlinkResponsePacket
- Update Javadoc cross-references to use new class names
- Delete old files and the linking/ directory

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
2a6394805b fix: address code review feedback - fix indexed placeholders in translations, improve null handling
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
bde4900e98 feat: implement account linking system with LinkedAccountManager, VerificationCodeManager, network packets, commands (link/unlink/links), Discord and Minecraft integration
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
0f5bda94ca Add LinkedAccountManager for Discord-to-Minecraft account linking
Introduces a new server-side component that manages persistent storage of
Discord-to-Minecraft account links in linked_accounts.json. Supports 1:N
Discord-to-Minecraft linking with N:1 uniqueness enforcement. Uses a
reverse index (UUID->Discord ID) for O(1) lookups and ConcurrentHashMap
with synchronized methods for thread safety.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
Xujiayao
5905ad5364 Update configuration files to disable OP level sync by default and add server-specific mappings 2026-03-09 21:05:30 +08:00
Xujiayao
fc4385e5eb Rename sync_op_level_based_on_discord to sync_op_level_to_minecraft for clarity 2026-03-09 20:17:00 +08:00
Xujiayao
ad5d300dbd Remove start_command 2026-03-09 19:39:48 +08:00
Xujiayao
1826298b06 Remove unused parameters from YamlUtils validation calls 2026-03-09 14:56:02 +08:00
Xujiayao
dcabf4376d Allow empty arrays in type mismatch validation to avoid potential user questions 2026-03-09 14:55:41 +08:00
Xujiayao
3f5664a04c Enhance help command output formatting for improved readability and alignment 2026-03-09 14:26:14 +08:00
Xujiayao
d874eccd38 Refactor command visibility methods for clarity and consistency in help listings 2026-02-26 20:59:59 +08:00
Xujiayao
679d446810 Normalize command input by removing leading slashes for autocomplete suggestions 2026-02-26 20:21:39 +08:00
Xujiayao
abd5fb8cb0 Add permission level checks for command autocomplete 2026-02-26 20:21:28 +08:00
Xujiayao
f2ecf25f84 Improve execute command suggestions 2026-02-26 17:39:45 +08:00
Xujiayao
4cfb470919 Fix i18n 2026-02-26 14:23:04 +08:00
Xujiayao
f1ee8b59e2 Implement callback-based completion for Minecraft command execution and enhance timeout handling 2026-02-26 14:13:19 +08:00
Xujiayao
79a9aec67b Add DMCC command restriction in console command 2026-02-26 13:54:37 +08:00
Xujiayao
8380fb962b Implement OP level handling for command execution and auto-completion, and Console & Whitelist commands 1 2026-02-26 12:07:29 +08:00
Xujiayao
6a30f65ad5 New commands 2026-02-26 11:39:30 +08:00
Xujiayao
0218d8072d Update design of command permission system and accounting linking system 2026-02-25 22:55:05 +08:00
Xujiayao
a6cbe16655 Refactor packet imports and reorganize packet structure for better clarity 2026-02-24 23:07:05 +08:00
Xujiayao
ea40fc3aec Improve leaderboard formatting in stats command output 2026-02-22 19:14:41 +08:00
Xujiayao
6978a4ab8b Implement stats command for viewing Minecraft statistics 2026-02-22 19:07:15 +08:00
Xujiayao
42977b2eb6 Update config 2 2026-02-20 15:00:01 +08:00
Xujiayao
2428b1d3f7 Update config 2026-02-20 00:28:55 +08:00
Xujiayao
8b5f4c983c Remove (unused) usage message from log command 2026-02-19 22:55:24 +08:00
Xujiayao
61a20f52c5 Add Minecraft prefix to help command output for local command senders 2026-02-19 22:33:23 +08:00
Xujiayao
fbd0c6f888 Add visibility control for commands in help listings based on sender type 2026-02-19 17:39:13 +08:00
Xujiayao
c16d9cb580 Enhance command argument handling to support variable-length arguments and update related usage messages 2026-02-19 17:24:35 +08:00
Xujiayao
8c86f14328 Implement execute and log command 2026-02-19 15:46:44 +08:00
Xujiayao
aa393d3ec1 Remove FileCommandSender implementation from JdaCommandSender class 2026-02-04 23:44:21 +08:00
Xujiayao
74d6a83448 Refactor command execution to accept name and arguments separately, enhancing command handling in Discord and terminal interactions 2026-02-04 23:42:59 +08:00
Xujiayao
407f1b9282 Add file upload functionality and register discord execute and log commands 2026-02-04 23:09:24 +08:00
Xujiayao
dc8fc6bf3e Add methods to retrieve connected client names and check client connection status 2026-02-04 22:44:24 +08:00
Xujiayao
aab632eb34 Enhance HelpCommand output to include command arguments descriptions 2026-02-04 22:43:48 +08:00
Xujiayao
64735a9475 Remove isOptional method from Command interface 2026-02-04 22:21:44 +08:00
Xujiayao
752306be18 multi_server_client显示延迟 2026-02-03 02:25:17 +08:00
Xujiayao
9db51ee883 Fix TPS and MSPT 2026-02-03 02:14:47 +08:00