Skip to content

Feat/all player tab completions#49

Open
TheBjoRedCraft wants to merge 5 commits into
version/26.2from
feat/all-player-tab-completions
Open

Feat/all player tab completions#49
TheBjoRedCraft wants to merge 5 commits into
version/26.2from
feat/all-player-tab-completions

Conversation

@TheBjoRedCraft

Copy link
Copy Markdown
Member

No description provided.

@TheBjoRedCraft TheBjoRedCraft self-assigned this Jun 28, 2026
Copilot AI review requested due to automatic review settings June 28, 2026 08:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds offline-player name tab-completion support by introducing a periodically refreshed, cross-server offline name cache backed by a RabbitMQ request to the microservice.

Changes:

  • Introduce OfflinePlayerNameCache + SurfCoreApi.loadOfflinePlayerNameEntries() to fetch and cache offline names for prefix suggestions.
  • Add RabbitMQ request/response packets + microservice handler/repository query to load offline player name entries from the database.
  • Update Paper/Velocity offline-player command arguments to suggest both online and offline names (with a cap) and start cache pulling on plugin enable.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
surf-core-velocity/src/main/kotlin/dev/slne/surf/core/velocity/VelocityMain.kt Starts periodic offline-name cache refresh on Velocity startup.
surf-core-velocity/src/main/kotlin/dev/slne/surf/core/velocity/api/SurfCoreApiVelocityImpl.kt Switches to client-backed SurfCoreApi implementation to support offline-name loading via Rabbit.
surf-core-paper/src/main/kotlin/dev/slne/surf/core/paper/PaperMain.kt Starts periodic offline-name cache refresh on Paper startup.
surf-core-paper/src/main/kotlin/dev/slne/surf/core/paper/api/SurfCoreApiPaperImpl.kt Switches to client-backed SurfCoreApi implementation to support offline-name loading via Rabbit.
surf-core-microservice/src/main/kotlin/dev/slne/surf/core/microservice/SurfCoreApiMicroserviceImpl.kt Adds loadOfflinePlayerNameEntries() override (currently errors).
surf-core-microservice/src/main/kotlin/dev/slne/surf/core/microservice/rabbit/SurfPlayerHandler.kt Adds Rabbit handler to serve offline-name entry loads.
surf-core-microservice/src/main/kotlin/dev/slne/surf/core/microservice/database/repository/SurfPlayerRepository.kt Adds DB query to fetch offline player name entries.
surf-core-core/surf-core-core-common/src/main/kotlin/dev/slne/surf/core/core/common/rabbit/packet/player/ManyOfflinePlayerNamesResponsePacket.kt New response packet carrying offline name entries.
surf-core-core/surf-core-core-common/src/main/kotlin/dev/slne/surf/core/core/common/rabbit/packet/player/load/LoadOfflinePlayerNameEntriesRequestPacket.kt New request packet to load offline name entries.
surf-core-core/surf-core-core-client/src/main/kotlin/dev/slne/surf/core/client/SurfCoreApiClientImpl.kt Adds client-side SurfCoreApi base that fetches offline-name entries via Rabbit.
surf-core-api/surf-core-api-velocity/src/main/kotlin/dev/slne/surf/core/api/velocity/command/argument/SurfOfflinePlayerArgument.kt Updates suggestions to include offline names by prefix (async), capped.
surf-core-api/surf-core-api-paper/src/main/kotlin/dev/slne/surf/core/api/paper/command/argument/SurfOfflinePlayerArgument.kt Updates suggestions to include offline names by prefix (async), capped.
surf-core-api/surf-core-api-common/src/main/kotlin/dev/slne/surf/core/api/common/SurfCoreApi.kt Adds the loadOfflinePlayerNameEntries() API contract.
surf-core-api/surf-core-api-common/src/main/kotlin/dev/slne/surf/core/api/common/cache/OfflinePlayerNameCache.kt Introduces the offline player name cache + prefix search + periodic pulling.
gradle.properties Bumps project version to 2.4.2.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants