Skip to content

feat: compact tab ranks and mark Bedrock players - #58

Merged
lusu007 merged 1 commit into
mainfrom
feat/tab-rank-labels-and-bedrock-icon
Sep 2, 2026
Merged

feat: compact tab ranks and mark Bedrock players#58
lusu007 merged 1 commit into
mainfrom
feat/tab-rank-labels-and-bedrock-icon

Conversation

@lusu007

@lusu007 lusu007 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Tab ranks now show compact labels such as ADMIN, DEV, MOD and USER. A matching five-pixel resource-pack font leaves a pixel above and below the letters inside each badge, with label shadows disabled to preserve that spacing.

Bedrock players receive a bedrock-block icon immediately before their name. Local Floodgate detection includes linked Java accounts; environment-scoped NATS snapshots share edition flags across proxies and expire after 30 seconds. Unlinked Floodgate UUIDs remain detectable before snapshots arrive. Deploy the matching resource pack first and set GROUNDS_ENVIRONMENT on all proxies.

Validation: full Gradle build, including tests for rank aliases, glyph widths, decoration isolation, icon positioning, linked accounts, cross-proxy snapshots, expiry and proxy changes.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T16:22:22.694337Z e2ef381 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@lusu007
lusu007 merged commit fb5b0df into main Sep 2, 2026
3 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e2ef381e4e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


@Subscribe
fun onLogin(event: PostLoginEvent) {
bedrockRoster?.refresh()

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Avoid publishing the full roster on every login

When many players reconnect after a proxy restart, every PostLoginEvent calls refresh(), which rescans all connected players, serializes the entire roster, and publishes it to every proxy. A burst of n logins therefore sends O(n²) entries—at the supported 10,000-player limit, roughly 50 million UUID entries before NATS fan-out—and also performs the work on each login path. Update local state without publishing here, or debounce broadcasts and rely on the existing five-second refresh.

Useful? React with 👍 / 👎.

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.

1 participant