🕒 Lecture 2 min.

C’est une information qui impacte plus les développeurs que les joueurs, Microsoft et Mojang ont publié deux parties du code Java de Minecraft sous forme de bibliothèque sur GitHub. Ainsi « n’importe qui peut le récupérer et l’utiliser pour son propre jeu » a indiqué Nathan Adams, ingénieur en chef chez Mojang.

librairie minecraft open source

2 libraries disponibles

Les deux libraries mises à disposition sont Brigadier et DataFixerUpper. Elles seront utiles pour les personnes souhaitant faire leur propre jeu et ne voulant pas avoir à réécrire le code depuis zéro.

Brigadier

brigadier minecraft

La library de Brigadier sur GitHub est décrite comme un « analyseur de commandes et répartiteur » :

Le moteur de commande utilisé par Minecraft […]. Ainsi, lorsqu’un utilisateur tape /give Dinnerbone sticks dans le chat, cela passe par Brigadier. Brigadier le sépare, il vérifie les erreurs, il essaie d’être aussi utile que possible. Lorsque vous tapez, vous avez également cette jolie fenêtre contextuelle qui peut suggérer ce que le prochain texte pourrait être.

DataFixerUpper

datafixerupper minecraft

Quant à la library DataFixerUpper elle est conçu pour la construction, la fusion et l’optimisation incrémentielles des transformations de données … [pour convertir] les données de jeu pour Minecraft: Java Edition entre différentes versions du jeu :

Le nom est si stupide que nous devions le conserver […] avant que Minecraft ne charge réellement [de vieux] chunks, il passe par DataFixerUpper et le transforme en ce qu’il devrait être actuellement (essentiellement, une validation/conversion de données moteur spécifique pour les données Minecraft).

Plus de transparence

L’objectif mis en avant par Mojang est la transparence et le partage. Le code étant sous licence MIT, n’importe qui est libre d’y contribuer et aider à améliorer le moteur du jeu. Cette licence permet également d’utiliser le code, sans contrainte, pour tout autre type de projet, même commercial.

Il est même prévu à l’avenir d’ajouter une autre library, Blaze3D :

Blaze3D est une bibliothèque à l’étude. Il s’agit d’une réécriture complète du moteur de rendu que nous souhaitons implémenter pour la version 1.14.