Forge 28.1 Minecraft 1.14.4
-
Cet article est une traduction de la nouvelle de Forge que vous pouvez retrouver à cette adresse : https://www.minecraftforge.net/forum/topic/75934-forge-281-minecraft-1144/ . “Je” est donc LexManos dans cet article et non robin4002. Les éléments se trouvant en parenthèse en italique sont en revanche des ajouts de robin4002
Version de forge : 1.14.4-28.1.0
Version de Minecraft: 1.14.4
Téléchargements :Introduction :
Oui, le moment est enfin venu, nous sommes prêts à faire notre première version recommandée pour 1.14.4 ! Je tiens à remercier toutes les personnes qui ont contribué à la réalisation de ce projet et l’ont préparé. La route a été longue et j’admets qu’elle a pris beaucoup plus de temps que je ne le voulais. Malheureusement, certaines choses ont mal tourné, certaines parties ont pris beaucoup plus de temps que prévu. Mais nous avançons. C’est l’une des plus importantes mises à jour de Forge que nous n’ayons jamais effectuées. Tout a été réécrit depuis le début pour nous fournir, espérons-le, une plateforme pour les 10 prochaines années. Voici un aperçu de base :
Gestion de version :
Vous avez peut-être remarqué que notre numéro de version a légèrement changé. Cela a été fait pour retirer certaines informations redondantes et pour lier plus directement nos versions à notre code source. Nos versions sont maintenant au format
{Version de Minecraft}-{Version de Forge}.{Numéro de build recommandée}.{Nombre de commit}
.Lanceur :
Pour que Forge puisse modifier le jeu, nous devons utiliser un système nous permettant de modifier le byte code Java au fur et à mesure de son chargement. Au départ, nous avons créé un système appelé LegacyLauncher, que nous avons partagé avec Mojang, ce qui leur a permis de charger leurs anciennes versions dans leur nouveau lanceur multi-profils. Cependant, Java9 est sortie entretemps et casse le fonctionnement de ce dernier. Il s’agit d’un changement fondamental dans le fonctionnement de Java qui nous a obligés à repenser notre système de chargement. Nous avons maintenant un nouveau chargeur appelé ModLauncher conçu pour Java9 +. J’espère que cela fonctionnera pour la prochaine décennie !
Installateur :
Forge fait beaucoup de choses au démarrage. Certaines d’entre elles consistent à appliquer nos correctifs au code Minecraft et à transformer le code obscurci de Minecraft en noms SRG (l’étape d’application des mappings) afin que les mods puissent fonctionner entre les versions mineures de Minecraft. Cela se faisait chaque fois que vous lanciez le jeu. Nous le faisons maintenant une seule fois, au moment de l’installation. Cela permettra d’économiser un peu de temps lors du démarrage du jeu.
Mods :
Nous avons pas mal changé le système de chargement de mods, les événements de base du cycle de vie des mods sont maintenant exécutés en parallèle au démarrage de Minecraft. Cela devrait aider à réduire le temps de chargement (et de façon significative sur les processeurs ayant beaucoup de cœurs). Nous avons également supprimé beaucoup d’éléments mal conçu qui existaient depuis l’époque du ModLoader pour Risugami (de la dette technique en moins). Ce qui permettra un code plus propre et plus flexible. Globalement, l’expérience du développeur de mod devrait être bien meilleure.
Coremods :
Autant que je déteste ça, les mods qui éditeront du byte code seront toujours une nécessité dans certains cas. LegacyLauncher avait un système qui permettait à n’importe quel mod de modifier ce qu’il voulait. Cela a causé beaucoup de problèmes en raison de la mauvaise mise en œuvre des moddeurs. Le nouveau système ModLauncher a une fonctionnalité similaire, mais nous avons également publié un nouveau projet
Coremod
destiné à être le système par défaut pour toute personne qui fabrique un Coremod. Ce nouveau système utilise le moteur JavaScript de Java pour isoler le coremod du reste du jeu. Ce qui devrait résoudre les problèmes les plus courants dans les coremod existants (Lexmanos ne précise pas lesquelles).MDK :
Nous avons complètement réécrit tous nos outils de construction. Le nouveau système considère Minecraft et autres dépendances de mod comme des dépendances normales. Cela signifie que vous n’avez plus besoin d’utiliser des tâches spéciales ‘setupWorkspace’ avant de pouvoir construire votre mod. Cela signifie également qu’un plus grand nombre de systèmes devraient pouvoir prendre en charge l’espace de travail, car il correspond davantage à un espace de travail java standard. Nous ciblons actuellement Gradle 4.9, mais cela fonctionne jusqu’à la version 5.5.
Générateurs de données :
Minecraft utilise de nombreux fichiers de données, généralement sous la forme d’un fichier JSON. Ceux-ci sont utilisés pour les blocs, les modèles, les textures, les recettes, les tags et bien plus encore. Certaines personnes dans la communauté pensent que c’est une mauvaise chose car il est difficile de créer autant de fichiers de données. Aucun programmeur sensé ne le ferait à la main. Mojang ont eux-mêmes utilisé des générateurs de données depuis le début. Nous les avons finalement convaincus d’exposer cela aux moddeurs, et Forge les a améliorés pour les utiliser par moddeurs. Nous prévoyons d’ajouter encore plus de fonctionnalités à ce système, nous attendons donc vos retours. (voir https://wiki.vg/Data_Generators pour l’utilisation des générateurs de données).
MCPConfig :
Le code de Minecraft est obscurcis. Depuis notre création, nous utilisons MCP pour nous fournir les informations nécessaires pour faire du jeu une pièce avec laquelle nous pouvons travailler. Ce projet a débuté sous la forme d’un ensemble de scripts et d’outils Python. Mais maintenant, avec ForgeGradle et d’autres projets, python n’est plus nécessaire. Nous avons donc décidé de ne fournir que les mappings. Il s’agit maintenant d’un projet public qui permet plus d’interaction avec la communauté. Ces mappings sont publiés dans le maven de Forge et peuvent être utilisés dans n’importe quel projet. La seule restriction est que vous ne pouvez pas redistribuer et créer des versions dérivées. Ceci est purement une nécessité technique. Ces mappings sont conçus pour être aussi stables que possible et compatibles entre les versions de Minecraft. Si plusieurs mappings différentes étaient en conflit, cela ne causerait qu’un mal de tête et des incompatibilités. Nous avons également travaillé avec la communauté pour concevoir des normes de nommage, vous pouvez voir plus d’informations à ce sujet sur Github.
Les mappings officiels de Mojang :
À partir de la snapshot 19w36a, Mojang a commencé à fournir ses mappings d’obscurcissement. Ce qui, en théorie, est un atout majeur pour la création de mod car elles aideront les développeurs de mod à comprendre le code de Minecraft. Cependant, Mojang a publié ces mappages en tant que “Tous droits réservés”, ce qui signifie que nous ne pouvons pas les utiliser de quelque manière que ce soit. Donc, jusqu’à ce qu’ils clarifient les choses, nous allons continuer à travailler sur Forge en utilisant les noms SRG pour notre développement / publication. Nous espérons que Mojang nous donne quelques droits limités afin que les moddeurs puissent utiliser ces noms dans leur propre code de mod, ainsi que pour publier sur des sites tels que Github. Mais jusqu’à ce que cela se produise, je conseille à toute personne regardant ces mappings de faire très attention à ne pas les utiliser dans quoi que ce soit que vous publiez. Cela inclut dans les fichiers
.jar
de votre mod ou dans le code source que vous publiez sur votre gestionnaire de code source. Nous vous tiendrons informés lorsque nous aurons de nouvelles informations de la part du département légal de Mojang.Fluides :
Minecraft a introduit le concept d '« engorgement » pour des blocs comme les escaliers, les clôtures et les dalles. Cela a introduit un système de fluide formalisé dans Minecraft. Cela nous a obligé à réécrire notre système de fluide. Nous essayons de travailler avec Mojang pour rendre le système vanilla plus flexible pour les moddeurs. Nous continuerons à développer ce système au fur et à mesure que les moddeurs donneront leur avis.
Changelog :
Comme Forge et tous ses outils ont été fondamentalement ré-écrits, le changelog est énorme. Vous pouvez voir le changelog brut ici. Pour plus d’informations sur tous les autres outils de l’écosystème Forge, vous pouvez consulter notre Github. Ne vous inquiétez pas, des listes plus détaillées reviendront à l’avenir lors des prochaines versions recommandés, mais celle-ci a trop de changement pour qu’ils soient listés correctement.
Dernières remarques :
Cela a été long à venir, pour ceux qui sont préoccupés par le temps que cela a pris. J’aimerais vous rappeler que, maintenant que notre réécriture principale est terminée, nous devrions revenir à notre rythme habituelle de mises à jour le même jour qu’une nouvelle version de Minecraft sort, comme précédement. La 1.14.4 contient de nombreux changements majeurs, je suggère donc aux gens de rejoindre notre Discord et de travailler ensemble pour se mettre à jour, trouver des bogues, etc. (Minecraft Forge France est également là pour vous aidez dans la mise à jour de vos mods, dans la section support pour les moddeurs et sur le Discord). Veuillez les signaler afin que nous puissions régler les problèmes. Certains d’entre vous ont peut-être aussi remarqué qu’il n’y a que les téléchargements directs en haut de cette page. En effet, nous avons atteint notre objectif Patreon et supprimé les liens publicitaires. Personne n’aime les annonces, mais développer et publier Forge coûte de l’argent. Nous avons aussi un magasin de produits. Si quelqu’un est intéressé. [/ promotion sans scrupule]
Retour au travail !