Skip to content

fix: handle resource packs and shaders listed among a pack's mods - #25

Merged
NeyorDEV merged 4 commits into
mainfrom
fix/resource-packs-in-packs
Oct 21, 2026
Merged

NeyorDEV merged 4 commits into
mainfrom
fix/resource-packs-in-packs

Conversation

@NeyorDEV

Copy link
Copy Markdown
Owner

Found in a real run on a CurseForge export (SkyBlock Enhanced 5.4.1, Fabric 26.2 → 26.3).

Problem

Faithful 32x, a resource pack, is listed in the CurseForge export alongside the mods. ModShift searched for it under the fabric loader and reported it as "not found". The report also linked it to modrinth.com/mod/…, and a migrated pack would have put it in mods/.

Fix

The behaviour now follows the Modrinth project type (project_type):

  • Version lookup: resource packs are searched under the minecraft loader. Shaders are searched under iris, optifine, canvas and vanilla. These are the loaders accepted by Modrinth's own validators (labrinth validate/resourcepack.rs and validate/shader.rs).
  • Migrated pack: files go into resourcepacks/ or shaderpacks/.
  • CurseForge exports: the folder is set from the CurseForge classId (12 = resource pack, 6552 = shader). These values are checked in Prism Launcher (FlameAPI.cpp) and packwiz (curseforge.go).
  • Report links: they point to the right page, e.g. modrinth.com/resourcepack/….
  • Alternatives and compatibility layers: not searched for these files, since those mechanisms only cover mods. The message becomes "No version for Minecraft 26.3 (resource pack)."

Tests reproduce the case: a resource pack with a target version, one without (no search requests sent), and CurseForge classes 12 / 6552 / 6. CHANGELOG updated.

Checks

lint, format, typecheck, build and the docs diff are clean. 442 tests pass.

This PR includes the README commit from the "docs: format the README install section" PR, so its CI isn't held up by main. That commit becomes a no-op once that PR is merged.


Generated by Claude Code

The README edit on main left a trailing space (Prettier check fails) and
the generated installation page out of date (docs:pages check fails),
so CI on main was red.
A real CurseForge export listed Faithful 32x (a resource pack) with its
mods; ModShift looked for it under the target's mod loader and reported
it as not found. Resource packs and shaders are now looked up under the
loaders Modrinth uses for them (minecraft; iris, optifine, canvas,
vanilla, per labrinth's validators), installed in resourcepacks/ or
shaderpacks/ (also from the CurseForge class id), linked to their own
Modrinth page, and never get mod alternatives.
@NeyorDEV
NeyorDEV merged commit e4faa12 into main Oct 21, 2026
2 checks passed
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