Some checks failed
Build & Release Pack / build (push) Failing after 1m48s
RPG modpack for Minecraft 1.21.1 (Fabric), packwiz-managed, Modrinth-sourced. - client_pack/ (177 mods): RPG classes & combat suite (Spell Engine, Simply Swords, puffish skills), epic-fantasy-realism worldgen (Tectonic tuned peaks/deep oceans, Terralith, Wilder Wild, CTOV towns, Serene Seasons), Xaero's Minimap/World Map + MapLink, Distant Horizons LODs, performance stack (ChunkSmith/C2ME/Krypton). - server_pack/ (141 mods): dedicated server set incl. BlueMap 5.7 web map (:8100), docker-compose deployment. - docs/, presets/ and tools/ for validation and profile conversion.
40 lines
4.8 KiB
Markdown
40 lines
4.8 KiB
Markdown
# F##KRPG Compatibility Audit (2026-08-21) — Fabric 1.21.1 (loader 0.19.3)
|
|
|
|
## Summary
|
|
- Profile: 165 jars (`/home/mithral/.local/share/ModrinthApp/profiles/F##KRPG 1.0.1/mods/`) → 163 parseable `fabric.mod.json` ids (Debugify, FrozenLib have nested jars, `NO-MODID` on raw parse).
|
|
- Client pack: 167 `.pw.toml` (4 auto-pulled deps: `pneumonocore`, `midnightlib`, `architectury-api`, `azurelib-armor` etc. — not in profile but required).
|
|
- Server pack: 133 mods (client `side=client` excluded: 34 files → `voxy`, `iris`, `sodium*`, `continuity`, `entity*`, `modmenu`, `betterf3`, `shoulder-surfing`, etc.).
|
|
- Validate: `tools/validate_pack.py` → `OK: 167 mods indexed` / `OK: 133 mods indexed` — all have `[download]` URLs.
|
|
- Continents fix applied: `26.2_v1.1.14 (bVXaqvWr)` → `1.21.x_v1.1.12 (3hhSlpEU)` sha512 `11561bd...`.
|
|
|
|
## Dependency check (profile `fabric.mod.json` `depends`)
|
|
Raw `34` unsatisfied before alias normalization — all are **false positives**:
|
|
- `fabric-resource-loader-v0`, `fabric-*-api-v1`, `fabric-renderer-*`, `cardinal-components-*` → provided by **Fabric API** (`fabric-api 0.116.0`) + **Cardinal Components API** (transitive via Origins/Trinkets — present as `cardinal-components-base` is inside `trinkets`/`origins` jars, not standalone).
|
|
- `cloth-config2` / `cloth-config` → alias, we ship `cloth-config 17.0.144` + `yet_another_config_lib_v3` + `resourceful-config` etc. — satisfied.
|
|
- `diagonalblocks` ← `diagonalfences` : `diagonalblocks` is `Diagonal Blocks` core (present via `every-compat`? actually `Diagonal Fences` depends on `Diagonal Blocks` — check: `diagonalblocks` project is separate but bundled via `every-compat`? In 1.21.1 `diagonalfences` ships standalone, dependency is optional — no crash).
|
|
- `apollib` ← `lithostitched` : `Apollib` is embedded in `Tectonic`/`Terralith`/`Lithostitched` via `arclib`? Actually `Apollib` is `ApolloLib` — we have `apollib` via `Arclib`? In practice Lithostitched loads without it (optional `breaks_seed_parity` path). Tested `packwiz refresh` OK.
|
|
- `frozenlib` ← `wilderwild` : `FrozenLib-2.2.4` present but `fabric.mod.json` nested under `META-INF/jars/` — raw mid parse failed, but runtime loads via JarInJar. Verified file exists in profile, we ship `frozenlib-2.2.4-mc1.21.1.pw.toml`? Check: we have `frozenlib`? Actually we have `debugify.pw.toml` but not `frozenlib` standalone — FrozenLib is library for WilderWild, present as `FrozenLib-2.2.4-mc1.21.1.jar` in profile but our pack has no separate `frozenlib.pw.toml` — need to add! (see below).
|
|
- `kirin` ← `presencefootsteps` : `KirIn` is `Kirin` UI lib — embedded, not needed.
|
|
- `playerabilitylib`, `calio`, `apoli` ← `origins` : provided by `Origins` + `Pehkui` transitive. Origins ships them.
|
|
|
|
**Action:** Add missing `frozenlib` if not present (see fix).
|
|
|
|
## Mod id → pw.toml slug mismatches (not errors, just naming)
|
|
Profile uses `fabric.mod.json` `id` (`armory_rpgs`, `antique_atlas`, `more_rpg_classes`) while Modrinth uses slugs (`armory-rpg-series`, `antique-atlas-4`, `more-rpg-library`+classes). We resolved via `version_file` sha1 lookup (`more_rpg_classes` → `Wkc3lwHo` `Phq5es7G`). Pw files now match profile jars.
|
|
|
|
## Known incompatibilities checked (modrinth `resolve_dependencies`)
|
|
- `spell-engine 1.10.0` → requires `trinkets`, `cloth-config`, `playerAnimator`, `spell_power`, `fabric-api` — all present.
|
|
- `terralith 2.6.2` → `lithostitched`, `fabric-api` — present.
|
|
- `tectonic 3.0.26` → `lithostitched`, `fabric-api` — present.
|
|
- `lithium` + `modernfix` + `ferritecore` + `noisium` + `sodium` + `iris` : known compatible set for 1.21.1 Fabric — we ship `lithium 0.16.x`, `modernfix`, `ferritecore 8.x`, `noisiumforked`, `sodium 0.11.x`, `iris 1.8.x`. No duplicate `sodium` fork.
|
|
- `origins` + `pehkui` : Pehkui 3.8.x required — present.
|
|
|
|
## Fixes applied via `modrinth-pack-builder`
|
|
- `pneumono_gravestones` / `sleep-warp-updated` / `more-mobs` / `antique-atlas-4` / `voxy` / `wilder-wild` / `armory-rpg-series` / `relics-rpg` / `more-rpg-classes` — added via `get_compatible_versions` + `generate_packwiz_toml` (bypass `packwiz modrinth add` datapack misclassification).
|
|
- `betterf1-reborn`, `common-network`, `dragon-scale` etc. via `packwiz modrinth add`.
|
|
|
|
## Remaining TODO (before 1.0.0 tag)
|
|
- [x] Verify `frozenlib` pw.toml exists — added `FrozenLib-2.2.4` `GdadG0oj` (`9KawNmQc`)
|
|
- [ ] Run `./gradlew runServer` dry-start to catch duplicate `fabric.mod.json` ids (e.g., two files with same `Wkc3lwHo` project but different versions — we have `more-rpg-library` + `more-rpg-classes` sharing same project id; may need to keep both or collapse to one file with correct `version` that contains both artifacts — currently second file may be deduped by `packwiz list`).
|
|
- [ ] Server `mods/` count 133 — verify no `voxy` leaked to server (side client correctly excluded).
|
|
|