FKRPG/docs/compatibility.md
mithral 20460ffd75
All checks were successful
Build & Release Pack / build (push) Successful in 1m44s
F##KRPG 1.0 — initial release
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.
2026-08-24 15:54:17 -04:00

4.8 KiB

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)

  • 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).