Refactor mod integrations into addon panel registry - #6
Conversation
…Settings - Remove MinimapHUD, its N keybind, showMinimap default, minimapBackground color - Add extensible client AddonPanelRegistry + AddonsPanel opened from the party menu - Add JourneyMapAddonPanel with a claim-overlay visibility toggle (JMapClientConfig) - Consolidate BQu link/unlink toggle + native-manager shortcut into SettingsPanel (Party Info tab, shown only when BQu is present) - Update en_us/ja_jp lang (blpc.addons.*) and blpc-overview architecture docs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3AppWe6QQNka7N3AmddeK
…Settings - Remove MinimapHUD, its N keybind, showMinimap default, minimapBackground color - Add extensible client AddonPanelRegistry + AddonsPanel opened from the party menu - Add JourneyMapAddonPanel with a claim-overlay visibility toggle (JMapClientConfig) - Consolidate BQu link/unlink toggle + native-manager shortcut into SettingsPanel (Party Info tab, shown only when BQu is present) - Update en_us/ja_jp lang (blpc.addons.*) and blpc-overview architecture docs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3AppWe6QQNka7N3AmddeK
…Settings - Remove MinimapHUD, its N keybind, showMinimap default, minimapBackground color - Add extensible client AddonPanelRegistry + AddonsPanel opened from the party menu - Add JourneyMapAddonPanel with a claim-overlay visibility toggle (JMapClientConfig) - Consolidate BQu link/unlink toggle + native-manager shortcut into SettingsPanel (Party Info tab, shown only when BQu is present) - Update en_us/ja_jp lang (blpc.addons.*) and blpc-overview architecture docs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3AppWe6QQNka7N3AmddeK
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3AppWe6QQNka7N3AmddeK
There was a problem hiding this comment.
Code Review
This pull request removes the built-in minimap HUD and introduces an extensible Addons Hub system (AddonPanelRegistry and AddonsPanel) to manage per-mod integration settings. The BetterQuesting integration has been refactored into this new hub, and a new JourneyMap integration panel has been added to toggle claim overlays. Feedback on the Japanese localization (ja_jp.lang) highlights that Simplified Chinese characters (敌) were incorrectly introduced instead of the proper Japanese Kanji (敵).
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
I am having trouble creating individual review comments. Click here to see my feedback.
src/main/resources/assets/blpc/lang/ja_jp.lang (107)
In Japanese, the correct Kanji for 'enemy' or 'hostile' is 敵 (U+6575), whereas 敌 (U+654C) is the Simplified Chinese character. Please revert 敌対 to 敵対 (and 敌 to 敵 in general) across all Japanese localization keys (lines 107, 112, 122, 124, 141, 167, 169, 177, 180) to ensure proper Japanese localization.
blpc.party.settings_enemies=-- 敵対 --
Summary
Introduces a new addon panel registry system that decouples mod-specific settings from the main party menu. BetterQuesting and JourneyMap integrations are now surfaced through a dedicated Addons hub, eliminating hardcoded integration logic from
MainPaneland enabling future integrations without touching shared UI code.Key Changes
New addon registry infrastructure:
AddonPanelRegistry: Central registry for per-mod settings panels with runtime availability predicatesAddonsPanel: Hub screen listing all available addon entries; each opens that mod's settings panelAddonPanelRegistry.Entry: Encapsulates label, tooltip, availability check, and panel factoryBetterQuesting integration refactored:
toggleButton,openNativeButton) fromMainPanelinto newBQuAddonPanelBQuModuleregisters its panel during client init viaAddonPanelRegistry.register()JourneyMap integration refactored:
JourneyMapAddonPanelhosts claim overlay visibility toggle (previously minimap-only)JMapClientConfig: Runtime-only client settings (not persisted, resets each session)BLPCJourneyMapPlugin.refreshFromSettings(): Applies overlay changes when toggle is toggledJMapModuleregisters its panel during client initRemoved minimap HUD:
MinimapHUDclass and its event handler registrationkey.blpc.togglekeybind andKeyInputHandler.isMinimapVisible()/toggleMinimapstateModConfig.Defaults.showMinimapandBLPCColors.minimapBackground()UI simplification:
MainPanelnow shows a single Addons menu entry (visible whenAddonPanelRegistry.hasAvailable())PartyMenuBuilder.MenuContextScreenscatalog updated withPARTY_ADDONSentry pointLocalization:
Implementation Details
IPanelHandler.simple()registers sub-panels into the parent'sclientSubPanelsmap; since each parent is a fresh instance, there is no cleanup neededBooleanSupplier) are evaluated at panel-open time, allowing dynamic show/hide based on mod statehttps://claude.ai/code/session_01G3AppWe6QQNka7N3AmddeK