Prototype d'installeur de mods pour le jeu-vidéo "Minecraft"

Projet personnel réalisé en JavaFX, permettant d'installer, en plusieurs étapes internes, des mods pour le jeu Minecraft.

Présentation du projet (Mai 2024)

Depuis un an, nous jouons sur un serveur Minecraft avec des amis. Nous avons installé des mods pour améliorer notre expérience de jeu. Les mods sont des ajouts au jeu qui permettent de le modifier et d'ajouter des fonctionnalités, des nouvelles textures et autres ajouts divers au jeu. Néanmoins, l'installation de mods peut être fastidieuse, surtout pour des personnes qui ne sont pas habituées à manipuler des fichiers. J'ai donc décidé de créer un installeur de mods pour le jeu Minecraft, spécifiquement pour notre serveur. Il faut savoir que Minecraft est un jeu qui est codé en Java, et que les mods sont également codés en Java; cela m'a donc paru logique que je réalise l'installeur en Java. Ce programme ne fonctionne pour l'instant que sur Windows (le système de fichiers est différent sur Mac et Linux), mais pourrait être adapté pour fonctionner sur ceux-ci. Celui-ci se devait de répondre à plusieurs critères:

  1. Être simple d'installation;
  2. Être simple d'utilisation;
  3. Être codé rapidement, sans fioritures et prioritiser la fonctionnalité avant l'esthétisme;
  4. Être adapté à l'ajout ou au retrait de mods à la volée;
  5. Permettre d'installer les mods là où bon l'utilisateur lui semble;
  6. Permettre la gestion des erreurs;
  7. Être léger.

En une journée, j'ai réalisé un prototype d'installeur de mods pour le jeu Minecraft. Celui-ci est entièrement fonctionnel, mais nécessite néanmoins quatre prérequis :

  1. Que Java soit installé chez l'utilisateur.
  2. Que le jeu Minecraft soit installé;
  3. Que le lanceur de mods Forge soit installé;
  4. Que le dossier source soit vide.

Les trois premiers prérequis sont relativement simples à installer, et sont souvent déjà installés chez les joueurs de Minecraft qui utilisent des mods. Le dernier est davantage un choix de ma part, car je ne voulais pas écraser des fichiers déjà existants. Cela pourrait néanmoins faire le sujet d'une prochaine mise-à-jour, que l'utilisateur soit averti et qu'il puisse choisir ou non de vider le dossier. Étant donné que je voulais réaliser un prototype rapidement, j'ai choisi de ne pas inclure cette fonctionnalité.

Fonctionnalités de l'installeur

  • Installer les mods du serveur à distance, sans que l'utilisateur ait à entrer quoi que ce soit;
  • Choisir le dossier d'installation (il existe un dossier standard, mais certains en utilisent un autre), si il clique dessus, par défaut le dossier par défaut des mods s'affiche;
  • Le fichier compressé contenant les mods est sur un serveur distant, je peux le modifier à la volée et n'importe qui lançant le logiciel aura la dernière version.

Fonctionnement de l'installeur

  • Si l'utilisateur change de dossier, celui-ci est envoyé au programme qui réécrit la variable correspondant à l'endroit où télécharger le fichier compressé;
  • Le programme télécharge un fichier compressé .ZIP depuis un serveur distant, en utilisant BufferedInputStream;
  • Une fois le fichier téléchargé, le programme le décompresse en utilisant Zip4j;
  • Une fois le fichier décompressé, le programme supprime le fichier compressé .ZIP afin de libérer de l'espace.

Si à un quelconque instant il y a une erreur, un autre affichage que celui de base apparait, indiquant qu'une erreur est survenue.

Galerie

L'interface qui s'ouvre pour choisir un dossier

L'affichage lorsque l'installation s'est réalisée sans problème