Migration de la 1.16 vers la 1.17
Ce guide ne se concentrera que sur les étapes primordiales pour migrer de la 1.16 à la 1.17, tous les changements concernant le code ne seront pas expliqués ici.
Étapes
- Faites une copie de votre mod 1.16 dans un nouveau dossier ou (alternativement) utilisez github pour créer une nouvelle branche et clonez-la
- Téléchargez le MDK de Forge et copiez le dossier gradle et les scripts gradlew à partir de là, rien d'autre
- Modifiez le fichier
build.gradle
pour utiliser FG 5.1+ :classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
- Ouvrez une nouvelle fenêtre de commande ou un shell bash (pour Linux) avec les variables d'environnement JAVA_HOME et PATH configurées pour Java 16. Vous pouvez vérifier ce changement avec la commande
java -version
- Si votre mod 1.16.5 n'utilise pas les mappings officiels, exécutez :
gradlew -PUPDATE_MAPPINGS_CHANNEL="official" -PUPDATE_MAPPINGS="1.16.5" updateMappings
- Modifier la ligne mappings du fichier build.gradle :
mappings channel: 'official', version: '1.16.5'
- Ajoutez la ligne suivante à votre build.gradle :
apply from: 'https://raw.githubusercontent.com/SizableShrimp/Forge-Class-Remapper/main/classremapper.gradle'
- Exécutez la commande gradle pour mettre à jour les noms des classes :
gradlew -PUPDATE_CLASSNAMES=true updateClassnames
- Modifier la ligne mappings du fichier build.gradle :
mappings channel: 'official', version: '1.17.1'
- Changez la ligne
java.toolchain.languageVersion = JavaLanguageVersion.of(8)
parjava.toolchain.languageVersion = JavaLanguageVersion.of(16)
dans le fichier build.gradle - Changez la dépendance de forge pour
minecraft 'net.minecraftforge:forge:1.17.1-37.1.1'
- Importez Gradle dans IntelliJ/Eclipse, changer le SDK du projet pour Java 16, et faire en sorte que gradle jre utilise aussi le JDK du projet
- Exécutez la commande
gradlew genIntellijRuns
- Corrigez votre code et testez
- Dans votre fichier mods.toml, remplacez ces lignes par les suivantes :
loaderVersion = "[36,)"
->loaderVersion = "[37,)"
versionRange = "[36,)"
->versionRange = "[37,)"
versionRange = "[1.16.5,1.17)"
->versionRange = "[1.17.1]"