neyor

Documentation

ModShift

Migrer un modpack Minecraft vers une autre version ou un autre mod loader.

01 — Principe

Ce que fait ModShift

Passer un modpack de la 1.20.1 Forge à la 1.21.1 NeoForge oblige à vérifier chaque mod à la main : existe-t-il une version pour la nouvelle cible, sinon par quoi le remplacer, quelles dépendances manquent maintenant ? ModShift automatise ce travail. Il lit ton pack, identifie chaque mod sur Modrinth, trouve une version compatible, propose des alternatives, résout les dépendances et peut écrire un .mrpack migré.

ModShift ne convertit pas le code des mods. Il cherche des versions ou des équivalents pour la cible : un mod sans portage reste un mod sans portage.

02 — Fonctionnalités

Ce qu'il sait faire

Analyse mod par mod

Compatible, mise à jour trouvée, alternatives (classées et expliquées, à vérifier) ou introuvable, avec la raison. Les dépendances manquantes et les conflits sont expliqués.

.mrpack migré

Un pack qui respecte les règles de validation de Modrinth, avec un MIGRATION_REPORT.md qui liste ce qui a été exclu et pourquoi.

Changement de loader

Les mods multi-loaders gardent le même projet ; les couches de compatibilité sont seulement signalées, comme expérimentales et sans garantie.

Client et serveur

Mods client seuls ou serveur seuls d'après les métadonnées Modrinth, et l'option --side server pour fabriquer un pack de serveur dédié.

Trois façons de l'utiliser

La ligne de commande pour les scripts et la CI, un mode interactif guidé, et une page web locale sur 127.0.0.1.

Dans tes pull requests

L'action GitHub ModShift Check publie le rapport sur chaque pull request.

03 — Résultats

Les statuts d'un mod

Compatible
Ton fichier actuel supporte déjà la cible.
Mise à jour trouvée
Une autre version du même projet la supporte.
Alternative suggérée
Pas de version, mais des mods similaires existent. Ce sont des suggestions, à vérifier.
Introuvable
Rien d'utilisable, avec la raison.

04 — Démarrage

Premiers pas

ModShift demande Node.js 20.17+ ou 22.13+.

  1. Installer ModShift

    npm install --global modshift
  2. Voir ce qui poserait problème en passant à la 1.21.1 NeoForge

    modshift analyze my-pack.mrpack --mc 1.21.1 --loader neoforge
  3. Prévisualiser la migration sans rien écrire

    modshift migrate my-pack.mrpack --mc 1.21.1 --loader neoforge --loader-version 21.1.77 --out my-pack-1.21.1.mrpack --dry-run
  4. Écrire le pack migré et son MIGRATION_REPORT.md

    modshift migrate my-pack.mrpack --mc 1.21.1 --loader neoforge --loader-version 21.1.77 --out my-pack-1.21.1.mrpack

Exemple de sortie

Extrait d'une sortie réelle de ModShift sur les jeux de test (données factices), pas sur l'API Modrinth en direct.

ModShift — Fixture Forge Pack  1.20.1 forge → 1.21.1 neoforge
↑ update found           Just Enough Items  15.2.0.27 → 19.8.0
↑ update found           Create             0.5.1.f   → 6.0.0
? alternative suggested  Rubidium           Suggestions (to verify): Sodium, Embeddium
+ Flywheel 1.0.0 (required by Create)
Summary: 0 compatible, 2 update found, 1 alternative suggested, 0 not found

05 — Compatibilité

Formats et loaders

Entrées
Modpack Modrinth .mrpack, export CurseForge .zip, ou dossier de fichiers .jar (instance avec mods/, ou serveur avec plugins/).
Loaders
Forge, NeoForge, Fabric, Quilt et anciens loaders ; plugins Bukkit, Spigot, Paper, Purpur et Sponge ; proxys BungeeCord, Waterfall et Velocity.
Identification
Par empreinte SHA-1 ou SHA-512 sur Modrinth (exacte). À défaut, l'identifiant du mod dans le jar est essayé comme slug Modrinth, et signalé comme non vérifié.
Rapports
Tableau en console, JSON ou Markdown.
Hors ligne
Cache local des réponses de l'API et option --offline.
Configuration
Un fichier modshift.config.json optionnel : cible par défaut, listes d'exclusion et correspondances manuelles.

06 — FAQ

Questions fréquentes

Le pack migré est-il garanti de fonctionner ?

Non. ModShift n'utilise que les métadonnées publiées par les auteurs sur Modrinth. Teste toujours le pack et sauvegarde tes mondes avant de les ouvrir avec une nouvelle version.

Pourquoi migrate demande --loader-version ?

Un .mrpack doit nommer la version exacte du loader. ModShift reprend celle du pack source si le loader et la version de Minecraft ne changent pas. Sinon, choisis-en une sur le site du loader, ou renseigne target.loaderVersion dans la config.

Pourquoi des mods sont « introuvables » alors qu'ils existent ?

Le fichier vient peut-être d'un autre site (CurseForge, GitHub) ou a été modifié, donc son empreinte est inconnue de Modrinth. Utilise les correspondances de la config pour l'associer au bon projet.

Les alternatives suggérées sont-elles équivalentes ?

Non. Ce sont des résultats de recherche classés par catégories communes, nom proche, mots-clés et popularité ; le rapport explique pourquoi chacun est proposé. Vérifie-les avant de les utiliser.

Fonctionne-t-il sans Internet ?

Oui, avec --offline, une fois le cache rempli par une exécution précédente.

Les packs de ressources et les shaders sont-ils gérés ?

Ils sont conservés tels quels dans les .mrpack migrés, mais pas encore vérifiés.

La référence complète de la ligne de commande et le journal des modifications sont sur le site de documentation dédié.

Ouvrir la documentation complète ↗ ← Retour aux projets