Skip to content

Refactor mod integrations into addon panel registry - #6

Merged
tier940 merged 7 commits into
mainfrom
claude/minimap-removal-mod-menu-xmcaza
Jul 5, 2026
Merged

Refactor mod integrations into addon panel registry#6
tier940 merged 7 commits into
mainfrom
claude/minimap-removal-mod-menu-xmcaza

Conversation

@tier940

@tier940 tier940 commented Jul 5, 2026

Copy link
Copy Markdown
Member

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 MainPanel and 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 predicates
    • AddonsPanel: Hub screen listing all available addon entries; each opens that mod's settings panel
    • AddonPanelRegistry.Entry: Encapsulates label, tooltip, availability check, and panel factory
  • BetterQuesting integration refactored:

    • Extracted BQu-specific UI (toggleButton, openNativeButton) from MainPanel into new BQuAddonPanel
    • BQu link/unlink toggle and native manager shortcut now live in the Addons hub
    • BQuModule registers its panel during client init via AddonPanelRegistry.register()
  • JourneyMap integration refactored:

    • New JourneyMapAddonPanel hosts claim overlay visibility toggle (previously minimap-only)
    • New JMapClientConfig: Runtime-only client settings (not persisted, resets each session)
    • BLPCJourneyMapPlugin.refreshFromSettings(): Applies overlay changes when toggle is toggled
    • JMapModule registers its panel during client init
  • Removed minimap HUD:

    • Deleted MinimapHUD class and its event handler registration
    • Removed key.blpc.toggle keybind and KeyInputHandler.isMinimapVisible() / toggleMinimap state
    • Removed ModConfig.Defaults.showMinimap and BLPCColors.minimapBackground()
  • UI simplification:

    • MainPanel now shows a single Addons menu entry (visible when AddonPanelRegistry.hasAvailable())
    • Removed BQu-specific menu building logic from PartyMenuBuilder.MenuContext
    • Screens catalog updated with PARTY_ADDONS entry point
  • Localization:

    • Added lang keys for Addons hub and per-addon titles/tooltips (en_us, ja_jp)
    • Removed minimap toggle keybind strings

Implementation Details

  • Addon panels are created fresh on each open (no state leakage across opens)
  • IPanelHandler.simple() registers sub-panels into the parent's clientSubPanels map; since each parent is a fresh instance, there is no cleanup needed
  • Availability predicates (BooleanSupplier) are evaluated at panel-open time, allowing dynamic show/hide based on mod state
  • JourneyMap overlay toggle is client-only and non-persistent, matching the previous minimap behavior

https://claude.ai/code/session_01G3AppWe6QQNka7N3AmddeK

tier940 and others added 6 commits July 5, 2026 12:27
…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
@tier940 tier940 self-assigned this Jul 5, 2026

@gemini-code-assist gemini-code-assist 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.

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)

medium

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=-- 敵対 --

@tier940
tier940 merged commit 8d0dc23 into main Jul 5, 2026
4 checks passed
@tier940
tier940 deleted the claude/minimap-removal-mod-menu-xmcaza branch July 5, 2026 13:16
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