Skip to content

Add icon support for third party/local projects (mods, resource packs, etc.) #5615

@qborder

Description

@qborder

Please confirm the following.

  • I checked the existing issues for duplicate feature requests
  • I have checked that this feature request is not on our roadmap

What parts of Modrinth is your feature request related too?

Modrinth App

Is your suggested feature related to a problem? Please describe.

When you have third party mods, dev builds, custom mods, or any mod that isn't from Modrinth, the app just shows the default placeholder icon for all of them. Makes it hard to tell them apart visually especially with a big list. Mods from Modrinth show their icons fine, it's only local/third party ones that don't.

Describe the solution you'd like

The app should try to extract and display the icon from the mod/project file itself when there's no Modrinth source to pull the icon from.

Most mod formats (jar files) actually bundle their own icon inside the file. For example Fabric mods define an icon path inside their fabric.mod.json metadata, and Forge/NeoForge mods do something similar with their own manifest. The icon is usually just a .png sitting inside the jar.

A possible approach would be inspecting the jar file on the Rust/backend side when loading the mod list, reading the mod metadata file inside it to find where the icon is referenced, extracting that image, caching it locally, and passing it to the frontend to display. This way it works fully offline and doesn't need any network requests.

For resource packs, most of them already include a pack.png in the root of the zip which is literally designed to be used as a thumbnail, so that one would be pretty straightforward to grab.

Since the app is built on Tauri with a Rust backend, the jar/zip inspection and icon extraction would fit naturally on the Rust side, then just expose it to the frontend through a command like any other asset loading.

Describe alternatives you've considered

Letting users manually set a custom icon for third party projects (Or any project, not just local) would also help, even if automatic extraction isn't feasible right now. something like right clicking a mod and setting a custom image for it.

Additional context

This would make the content list a lot more readable when mixing Modrinth mods with local/custom ones. Right now a big chunk of the list is just the same default icon repeated which makes it hard to scan quickly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions