Skip to content

feat: per-vehicle icons in menus and on tickets - #83

Merged
XxFran10xX merged 1 commit into
mainfrom
feat/vehicle-icons
Oct 27, 2026
Merged

XxFran10xX merged 1 commit into
mainfrom
feat/vehicle-icons

Conversation

@XxFran10xX

Copy link
Copy Markdown
Contributor

Summary

Vehicles can name an icon in their config, and VehicleFramework shows it wherever it shows a vehicle:

biplane:
    model: biplane
    icon:
        material: coal
        model_data: 7403
  • Skin menu: every skin is the vehicle icon. The current skin has a glint and a "Current skin" line, instead of yellow vs green concrete. Clicking the current skin is now detected by skin id, not by item type.
  • Seat menu: slot 24 shows the vehicle (name + type). Seats skip it like the ownership and dismount controls, and the menu grows by a row when needed. Clicking it does nothing.
  • Repair menu: the Hull uses the icon.
  • Ownership menu: slot 18 shows the vehicle; clicking it does nothing.
  • Tickets: a minted ticket gets the icon's item model and model data, so it looks like the vehicle it admits to. Name, lore and ticket id are unchanged.
  • The 22 default vehicle files get their icon on COAL 7400-7421 (ServerAssets perf: save vehicle checkpoints in one transaction and stop idle switch updates #80).

A vehicle without icon:, or with an unknown material, keeps today's menus and tickets exactly.

Testing

  • mvn -B clean verify: 1770 tests pass. Locally the coverage gate reports 10 missed lines in persistence/loader code that the POSIX-permission tests (skipped on Windows) cover; main fails the same way here, so CI decides. No new or changed line is uncovered.
  • Dev (TFMCDev01) bot test with a real character on a spawned Biplane, all PASS: seat slot 24 = COAL 7403 "Biplane" and clicking it does nothing; ownership slot 18 = icon; skin menu shows icons, glint + "Current skin" on the active one, "Already using this skin" on clicking it, and choosing another skin moves the glint; repair Hull = icon; a minted paper ticket has item_model minecraft:coal + CMD 7403. The pack overlays (items/coal.json) map 7400-7421 after iazip.

🤖 Generated with Claude Code

Vehicles may set an optional icon section (material plus optional
model_data) after model. When set, the skin menu shows every skin as
the icon with a glint and "Current skin" on the active one, the seat
menu shows the vehicle in slot 24, the repair menu uses it for the
hull, the ownership menu shows it in slot 18, and minted tickets take
its item model and custom model data. Vehicles without an icon keep
the old menus. The skin click now finds the current skin by its id
instead of by yellow concrete.

The default vehicles use the new coal icons 7400-7421.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 9d6364af-1baf-47df-8fc8-2c5ed66be8fc
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the size:L 100-499 effective changed lines (tests excluded in mixed PRs). label Oct 27, 2026
@XxFran10xX
XxFran10xX merged commit ff4c41e into main Oct 27, 2026
3 checks passed
@XxFran10xX
XxFran10xX deleted the feat/vehicle-icons branch October 27, 2026 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant