Cet article est une traduction de l’annonce de Forge que vous pouvez retrouver à cette adresse suivante : https://forums.minecraftforge.net/topic/102544-forge-370-minecraft-1171/
Version de forge : 37.0.0
Version de Minecraft : 1.17.1
Téléchargements :
La première version pour 1.17 est prête !
Avant de vous plongez dedans, nous devons aborder certaines choses.
Il était prévu de publier cette version plus tôt, mais des problèmes IRL et la mise à jour vers Java 16 ont fait que nous avons dû attendre la fin d’autres projets avant de pouvoir publier.
Ce n’est pas la faute d’une personne ou d’un projet en particulier, ce retard a été causé par un certain nombre de facteurs.
Cependant, il y a eu suffisamment d’attente et nous voulons mettre cette version entre les mains des joueurs.
Il s’agit d’une version beta d’accès anticipé. Rien ici n’est définitif, c’est simplement une première version pour que les moddeurs puissent découvrir les nouvelles fonctionnalités.
Nous avons encore beaucoup de changements à venir, mais l’essentiel est là. Le “peel FML”, le système de test de jeu, les fonctionnalités Java 16.
Presque toutes les fonctionnalités de Java 16 sont ouvertes aux mods.
Cependant, les modules Java sont un peu pénibles à utiliser.
Si vous utilisez le système module-info dans votre mod, assurez-vous de bien comprendre ce que c’est et comment il est exposé aux autres modules (mods) au moment de la compilation.
Actuellement, module-infos sera ignoré lors de l’exécution mais PAS lors de la compilation.
Notre conseil permanent est de ne pas développer votre mod en tant que module.
En outre, les mixins.
Les mixins ne fonctionnent pas encore avec le nouveau Modlauncher, et nous attendons que Mumfrey examine et mette à jour Mixin.
Une fois qu’il nous aura confirmé qu’il est stable et prend en charge les nouveaux systèmes, nous l’expédierons à nouveau.
En tant que tel, nous allons publier les premières versions de Forge sans eux.
Pour rappel, une fois la version 1.17 publiée, les versions 1.16 et 1.15 deviennent des versions LTS communes - la 1.15 est désormais en vigueur.
Dans 1 mois (le 22 août 2021), le support de la 1.15 sera totalement terminé.
Nous prévoyons qu’une fois la version 1.18 publiée, la 1.16 restera en tant que LTS et la 1.17 sera abandonnée, mais ce n’est qu’un plan et n’est pas définitif.
ForgeGradle 5 vient d’avoir une version recommandée. Il n’y aura aucun changement en rupture dans l’outil jusqu’à la prochaine version mineur.
1.16 et 1.17 utilisent désormais également ForgeGradle 5 par défaut, pour faciliter la tâche des moddeurs qui utilisent les deux versions et ne souhaitent pas faire face à la galère de la prise en charge de Java 16.
ForgeGradle suit toujours le versioning pair-impair, où les versions mineures impaires (5.1, 5.3. 5.5…) n’ont pas de changements de rupture, et les versions mineures paires (5.2, 5.4, 5.6…) sont des phases de rupture/développement.
Ce système peut sembler étrange au premier abord, mais il nous aide à éliminer les dettes techniques inutiles.
Je recommande de coder en dur la version en 5.1.+ (ou voir le nouveau script de construction MDK par défaut) pour éviter les casses indésirables dans votre projet.
FML et le système Modlauncher ont été conçus pour la modularité de Java 9+ dès le départ - l’utilisation de modules est quelque chose que nous avons l’intention de faire depuis le premier jour.
Cependant, il y a quelques complications avec l’intégration avec un système aussi inutilement compliqué qu’est la modularité Java, de sorte que les API FML internes ne sont pas stable.
Tout mod s’interfaçant avec les API FML avant le RB peut rencontrer des plantages avec la prochaine mise à jour, car nous sommes encore dans une phase de détermination de où les choses doivent aller et les déplaçons en conséquence.
Tout ce qui se trouve à l’intérieur de ces packages est susceptible d’être déplacé, modifié ou supprimé lors de toute mise à jour mineure avant le premier RB :
Cependant, une fois que tout sera terminé, nous pourrons réimplémenter correctement des éléments tels que l’exposition native de l’API pour les mods via les exportations de packages, le chargement natif jar-in-jar, etc.
Beaucoup d’opportunités intéressantes pour les modules dans les mods.
Avec “FML Peel” terminé, la structure des dépôts de Forge est devenue un peu plus complexe ;
Il existe de nombreux sous-projets, chacun contenant une partie de l’ensemble du projet.
Le principal point de ceci est de faciliter la nouvelle configuration fmlonly - où le modloader peut être construit sans l’API.
Cela peut théoriquement permettre le modding sur les snapshots, étant donné le peu de travail effectué sur le backend.
<POINT TECHNIQUE>
En raison du fonctionnement du système de modules en Java, le serveur se lance désormais d’une manière très différente.
Il n’est plus possible de fournir un seul fichier jar exécutable comme c’était le cas auparavant, nous utilisons donc une solution de contournement :
Lorsque vous installez un serveur, vous verrez deux scripts d’exécution (un pour Linux et Mac, un pour Windows) et des fichiers d’arguments.
Les arguments sont ajoutés dans l’ordre :
java @user_jvm_args.txt @forge_args.txt <user game args>
Comme vous pouvez le constater par son nom, seul le fichier user_jvm_args.txt est destiné à être modifié par l’utilisateur final.
</POINT TECHNIQUE>
Il y a un exemple écrit fourni par moi dans le fichier user_jvm_args qui explique les arguments les plus couramment utilisés (-Xmx, -Xms).
Les tutoriels pour créer un serveur ne fonctionneront plus sur Forge >=37.0. Vous devez utiliser l’un des fichiers de commandes (.bash / .sh) fournis, sinon le jeu ne pourra pas se charger.
Cela dit, nous sommes impatients de voir des gens jouer avec Forge. N’oubliez pas que si vous voyez des bugs, n’hésitez pas à les signaler ici (les forums), sur notre serveur Discord ou sur le suivi des problèmes.
Bon modding !