Skip to content

feat(settings): make the settings menu friendlier with gradients and toggles - #491

Merged
TheMeinerLP merged 2 commits into
mainfrom
feat/settings-menu-polish
Oct 25, 2026
Merged

TheMeinerLP merged 2 commits into
mainfrom
feat/settings-menu-polish

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Summary

The settings menu looked unstyled next to the other lobby menus: plain white italic names, a bare title, and two dyes that only said "on" or "off" on hover. This PR makes it friendlier:

  • Hotbar item (slot 7): brand gradient name, not italic, one lore line ("Right-click to open" / "Rechtsklick zum Öffnen").
  • Menu title: brand gradient.
  • Per option: a feature icon in the middle row (vanilla item, with an enchantment glint while on), and directly below it a switch: lime dye with "✔ On" / "✔ An" in green when on, grey dye with "✘ Off" / "✘ Aus" in red when off. A click on the icon or the switch flips the option and plays ui.button.click for the player.
  • Option names: brand gradient, not italic. Descriptions: gray, not italic. Tag and throw descriptions now say how the game is played (left-click to tag; right-click to pick up, hold to charge, release to throw).
  • Icons: tag uses a name tag; throw uses an ender pearl (the vanilla throwable; it avoids the feather and slime ball the navigator already uses).

Gradient: the brand gradient <gradient:#00ddff:#ffffff> used by the navigator's item and server picker. The texts stay in the MiniMessage bundles, as before.

Layout (27 slots, 3 rows)

        col  0   1   2   3   4   5   6   7   8
row 1   s0   [F] [F] [F] [F] [F] [F] [F] [F] [F]    frame: light blue / cyan panes
row 2   s9   [g] [g] [g] [I0][g] [I1][g] [g] [g]    feature icons (grey filler elsewhere)
row 3   s18  [F] [F] [F] [T0][F] [T1][F] [F] [F]    switch under each icon

With the two current options the icons sit in slots 12 and 14 and the switches in 21 and 23. SettingsLayout spreads up to five options two columns apart and places six to nine on adjacent columns, always centred on column 4. More than nine options are rejected.

Notes

  • Shared inventories are still built per state combination and locale; one builder per module; register/unregister in the lifecycle.
  • openspec/changes/lobby-settings: the requirement that described "Lime bei an, Grau bei aus" now describes the icon and switch, in its own docs commit.
  • Deviation: hideExtraTooltip() is not set, because no other Titan menu uses it and these items carry no attribute components.

Testing

  • SettingsMenuTest: icon and switch per option, glint only when on, name gradient and not italic, click on icon and on switch, click sound heard by the player.
  • SettingsLayoutTest: column maths for 1, 2 and 9 options, and the rejection above nine.
  • SettingsTextStyleTest: hotbar item and hint, title gradient, switch colours, description not italic.
  • SettingsMessagesBundleTest covers the new key titan.settings.item.hint in both bundles.
  • ./gradlew spotlessApply build --offline passes locally (PMD, ArchUnit, module boundaries included).

https://claude.ai/code/session_01T1vdbUkCCTsMRsnGsQJtGL

@TheMeinerLP
TheMeinerLP requested a review from a team as a code owner October 24, 2026 21:42
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Test results

  442 files    442 suites   37m 3s ⏱️
3 319 tests 3 318 ✅ 1 💤 0 ❌
3 332 runs  3 331 ✅ 1 💤 0 ❌

Results for commit c54fd2f.

♻️ This comment has been updated with latest results.

…toggles

Each option gets a feature icon with an enchantment glint while it is on,
and a lime or grey switch directly below it. The title, hotbar item and
option names use the brand gradient, and all lore is non-italic. Clicking
the icon or the switch flips the option and plays the UI button click.

Claude-Session: https://claude.ai/code/session_01T1vdbUkCCTsMRsnGsQJtGL
@TheMeinerLP
TheMeinerLP force-pushed the feat/settings-menu-polish branch from 8bb9e24 to c54fd2f Compare October 25, 2026 08:51
@TheMeinerLP
TheMeinerLP merged commit a472979 into main Oct 25, 2026
9 checks passed
@TheMeinerLP
TheMeinerLP deleted the feat/settings-menu-polish branch October 25, 2026 09:06
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