dwgx@blog:~$dwgx
> cd ../posts

Mixin の練習に書いた Minecraft モッド (Example-Wasted2)

// created

Example-Wasted2 は MinecraftMixin をベースにしたサンプルモッドで、Mixin がバニラのロジックにどう hook するかを試すために書いた。目的は単純で、この注入方式を通しで動かして、実際のクラスにどうコードを織り込むのかを見ることだ。

Mixin の考え方はかなり好みだ。元のバイトコードファイルには手を付けず、アノテーションでコンパイル時にコードをターゲットクラスへ織り込む。どのメソッドを変えたければ、対応する Mixin に @Inject を書けばいい。普段やっている逆向の注入と同じ筋で、違うのはこちらが Java 側で、フレームワークが下支えしてくれるぶん、手動の patch 作業がかなり省ける点だ。

プロジェクト自体はそれほど進めていない。純粋な下調べの産物で、考え方を検証したところで置いた。当時 Mixin まわりを触っていた記録として、タイムスタンプ代わりに残してある。ソースはこちら