Skip to content

Phase 2 + HUD: real-time MT, settings UI, chat, scoreboard/tab/bossbar - #3

Merged
LayBalt merged 3 commits into
masterfrom
phase-1-translation-mvp
Jul 23, 2026
Merged

LayBalt merged 3 commits into
masterfrom
phase-1-translation-mvp

Conversation

@Somikyy

@Somikyy Somikyy commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

What

Two commits: Phase 2 (real-time online translation, chat, settings UI) and the follow-up HUD/polish pass from live Hypixel testing.

Phase 2 — real-time MT, chat, YACL UI

  • Real-time online translation: unknown strings go through Google's free endpoint (or your own LibreTranslate) via a polite queue — dedup, 350ms spacing, persistent daily budget, back-off on errors. Results are placeholder-validated, cached forever, and the render memo is flushed so tooltips update live while you look at them.
  • Chat: server system messages (NPC dialogues, quests) translated by default; player chat is a separate opt-in. Clickable/hoverable messages are skipped to keep interactions working.
  • Colored arguments: §7Damage: §c+1,024 → template "Damage: {0}", the value keeps its sign and color, surrounding color restored after it.
  • Settings UI (YACL, bundled jar-in-jar; Mod Menu button + O key): master toggle, language dropdown, per-surface toggles, MT provider/budget, and a string editor — the 50 last-seen strings editable in game; edits become top-priority overrides.

HUD pass — fixes from in-game feedback

  • §k garble fixed: lines with obfuscated decorations are translated per segment; the §k runes and the full §-code structure stay exactly where they were (rarity lines now render correctly).
  • New surfaces: scoreboard sidebar, tab list (entries/header/footer), boss bar — each with its own toggle.
  • MT hygiene: tab entries never reach an online translator (player names!), and MT is only attempted for multi-word phrases.

Testing

  • Unit tests: Normalizer v2 (colored/signed args), legacy segment splitting round-trip — green
  • Live on Hypixel SkyBlock: tooltips translate in real time, YACL screen works (verified in session logs), item translation confirmed by screenshots
  • New HUD mixins verified against 26.2 bytecode (Hud.displayScoreboardSidebar, BossHealthOverlay.extractRenderState, PlayerTabOverlay)

Reviewer notes

  • Dictionary key format changed: sign lives in the argument now ("Damage: {0}")
  • 26.2: Minecraft has no current-screen getter; keybind opens config via setScreenAndShow(…, null parent)
  • Free MT quality is the free tier by design — overrides/string editor are the correction path, premium LLM backend (Phase 3) is the real fix

🤖 Generated with Claude Code

Somikyy and others added 3 commits July 23, 2026 12:17
- remote/: Google free MT (default) + LibreTranslate backends behind a
  polite queue (dedup, rate spacing, persistent daily budget, back-off);
  results are placeholder-validated, cached, and the render memo is
  flushed so visible text updates live
- ChatComponentMixin: server system messages (NPC dialogues) on by
  default, player chat opt-in; interactive messages are skipped
- Normalizer v2: numbers keep their sign and color codes as arguments,
  surrounding color restored after substitution; dictionary keys drop
  the + sign accordingly
- ui/: YACL config screen (bundled jar-in-jar) with Mod Menu entry and
  O keybind - general/online categories plus a string editor over the
  50 last-seen templates; edits persist as top-priority overrides
- OverrideProvider: user corrections beat dictionary and MT cache

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…s from MT

- Lines containing §k are now translated per segment: obfuscated runes and
  the full §-code structure stay exactly where they were, only real text
  segments are translated (fixes the garbled rarity line)
- New surfaces: scoreboard sidebar (Hud.displayScoreboardSidebar), boss bar
  (BossHealthOverlay), tab list (entries + header/footer), each behind its
  own config toggle
- MT hygiene: tab entries never reach the online translator (player names),
  and MT is only attempted for multi-word phrases anywhere else

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@LayBalt
LayBalt merged commit 28e8227 into master Jul 23, 2026
3 checks passed
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