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.