Un JAR est simplement un fichier ZIP, contenant les divers fichiers de classe et autres métadonnées utilisées - c'est un format complètement standardisé.
Les fichiers ZIP peuvent être extraits et les fichiers de classe peuvent être modifiés si nécessaire pour la modification. Les fichiers modifiés sont ensuite ajoutés dans l'archive, ce qui oblige le serveur à utiliser les fichiers modifiés au lieu des fichiers d'origine.
Techniquement, les mods Minecraft sont vraiment des versions "piratées" du code original: les fichiers de classe binaires réels doivent être modifiés pour que le jeu connaisse les nouvelles choses; il n'y a pas encore de support officiel pour les mods (bien que Notch ait déclaré qu'ils travailleraient dessus pendant la bêta).
Bien sûr, ce n'est pas une très bonne façon de faire les choses si vous concevez activement des mods. Au lieu de cela, vous devez concevoir une sorte d'architecture de plugin qui permet d'exécuter du code personnalisé le cas échéant. La façon exacte dont vous procéderiez dépend de ce que vous voulez que vos mods soient capables de faire - par exemple, si la sécurité est un problème, vous voudrez probablement concevoir l'interface de mod pour utiliser une sorte de script, afin que vous puissiez empêcher les mods de faire toutes sortes de choses à l'ordinateur de l'utilisateur.
Les mods solo sont des versions piratées du code original. Les mods multijoueurs sont différents en ce moment. Ils utilisent presque tous le wrapper du serveur de hey0, qui relie dans le minecraft_server.jar (ou quel que soit le terme en Java) mais définit ses propres classes de fonctions, surcharge certaines des fonctions de base et exécute son propre main ()
Hey0 fournit une API mod . Voir
la source
Pour votre information, Mojang publiera un "Mod API" dans un avenir proche (pendant la version bêta, donc avant sa sortie officielle qui sera vers novembre 2011).
En fait, ce sera le code source complet, comme mentionné sur le blog de Notch
http://notch.tumblr.com/post/4955141617/the-plan-for-mods
mais pour l'instant, vous devez "décompiler" les bocaux, pour voir un code partiellement obscurci et le recompiler pour une utilisation / débogage ultérieure.
Pour ce faire, je recommande fortement le pack de codeurs Minecraft http://mcp.ocean-labs.de/index.php/MCP_Releases
il y a aussi quelques tutoriels de modding sur les forums, comme celui-ci: http://www.minecraftforum.net/topic/96862-creating-mods-modding-tutorials-21511/
la source