Um JAR é simplesmente um arquivo ZIP, contendo os vários arquivos de classe e outros metadados usados - é um formato completamente padronizado.
Os arquivos ZIP podem ser extraídos e os arquivos de classe podem ser editados conforme necessário para a modificação. Os arquivos modificados são então adicionados novamente ao arquivo, o que faz o servidor usar os arquivos modificados em vez dos originais.
Tecnicamente, os mods do Minecraft são realmente versões "hackeadas" do código original: os arquivos reais das classes binárias precisam ser modificados para que o jogo saiba sobre as novidades; ainda não há suporte oficial para mods (embora o Notch tenha declarado que eles trabalharão nele durante a versão beta).
Obviamente, essa não é uma maneira muito legal de fazer as coisas se você projetar ativamente para mods. Em vez disso, você criaria algum tipo de arquitetura de plug-in que permita que o código personalizado seja executado quando apropriado. Exatamente como você lidaria com isso depende do que você deseja que seus mods possam fazer - por exemplo, se a segurança é uma preocupação, você provavelmente deseja projetar a interface do mod para usar algum tipo de script, para impedir que os mods façam todo o tipo de coisas no computador do usuário.
Mods para um jogador são versões hackeadas do código original. Mods multiplayer são diferentes agora. Quase todos eles usam o wrapper de servidor hey0, que se vincula ao minecraft_server.jar (ou qualquer que seja o termo em Java), mas define suas próprias classes de funções, sobrecarrega algumas das funções principais e executa sua própria main ()
Hey0 fornece uma API mod . Vejo
fonte
Para sua informação, a Mojang lançará uma "Mod API" em algum momento no futuro próximo (durante a versão beta, antes do lançamento oficial, que será em novembro de 2011).
De fato, será o código fonte completo, como mencionado no blog de Notch
http://notch.tumblr.com/post/4955141617/the-plan-for-mods
mas, por enquanto, você precisa "descompilar" os jars, para ver um código parcialmente ofuscado e recompilá-lo para uso / depuração posterior.
Para fazer isso, eu recomendo o Minecraft Coder's Pack http://mcp.ocean-labs.de/index.php/MCP_Releases
também existem alguns tutoriais de modificação nos fóruns, como este: http://www.minecraftforum.net/topic/96862-creating-mods-modding-tutorials-21511/
fonte