回答:
JARは、使用されるさまざまなクラスファイルやその他のメタデータを含む単なるZIPファイルです。これは完全に標準化された形式です。
ZIPファイルを抽出することができ、クラスファイルは修正のために必要に応じて編集できます。変更されたファイルはアーカイブに追加され、サーバーは元のファイルの代わりに変更されたファイルを使用します。
技術的には、Minecraftの改造は元のコードの「ハッキング」バージョンです。実際のバイナリクラスファイルは、ゲームに新しいものを知らせるために変更する必要があります。公式のmodサポートはまだありません(Notchはベータ中に動作する予定であると述べていますが)。
もちろん、MODを積極的に設計している場合、これは良い方法ではありません。代わりに、カスタムコードを適切な場所で実行できるようにする、ある種のプラグインアーキテクチャを設計します。これをどのように行うかは、MODに何を実行させたいかによって異なります。たとえば、セキュリティが懸念される場合は、何らかのスクリプトを使用するようにMODインターフェースを設計し、MODの実行を制限できます。ユーザーのコンピュータにあらゆる種類のもの。
ちなみに、Mojangは近い将来に「Mod API」をリリースする予定です(ベータ期間中なので、2011年11月頃の正式リリース前)。
実際、Notchのブログで言及されているように、これは完全なソースコードになります。
http://notch.tumblr.com/post/4955141617/the-plan-for-mods
しかし今のところ、jarを「逆コンパイル」して、部分的に難読化されたコードを確認し、後で使用またはデバッグするために再コンパイルする必要があります。
これを行うには、Minecraft Coder's Pack http://mcp.ocean-labs.de/index.php/MCP_Releasesを強くお勧めします
フォーラムには、次のようにいくつかのmoddingチュートリアルもあります。http://www.minecraftforum.net/topic/96862-creating-mods-modding-tutorials-21511/