DynamicMixin is a dynamic Mixin patching and modding framework for Minecraft 1.20.1 (Forge). Similar to KubeJS scripts, DynamicMixin scans a dedicated directory (patches/) upon game startup and applies the patch code as Mixins on the fly—completely eliminating the need for manual Gradle compilation or building custom JAR files.
- Zero Manual Compilation Required: No IDE or Gradle build steps needed. Write or paste your Mixin code into a text file, place it in the folder, and launch Minecraft.
- Dual Patch Format Support:
- Dynamic Java Mixin (
.java): Use native SpongePowered Mixin syntax (@Mixin,@Inject,@Redirect, etc.). DynamicMixin automatically compiles and injects the bytecode into the Mixin subsystem at startup. - Declarative JSON Patch (
.json): For quick tweaks without writing Java. Allows canceling methods, changing return values, or emitting debug messages using concise JSON definitions.
- Dynamic Java Mixin (
- Automatic Dedicated Folder & Example Generation: On first launch, DynamicMixin automatically generates the
patches/folder populated with sample patches (SamplePlayerPatch.java,sample_cancel_fall_damage.json) and aREADME.txtguide. - User-Friendly Error Diagnostics: If a syntax or compilation error occurs, DynamicMixin outputs clear diagnostic details to
patches/compile_errors.logwithout abruptly crashing the game loader.
- Part 1: Current Capabilities: Comprehensive breakdown of zero-compilation Mixins, starter templates, and diagnostics.
- Part 2: Syntax, Differences from Standard Java, and Examples: Comparison matrix against traditional Java modding, plus practical Java & JSON patch examples.
🔗 Remote Repositories
DynamicMixin は、Minecraft 1.20.1 (Forge) 向けに開発された動的Mixinパッチ・独自改変MODです。 KubeJSのように、ゲーム起動時に専用フォルダ(patches/)を自動スキャンし、そこに配置されたコードを事前のGradleコンパイルやJARビルドを行うことなく、オンザフライでMixinとしてMinecraftに適用します。
- コンパイル作業が一切不要: Java開発環境(IDEやGradle)を立ち上げることなく、テキストエディタ等でコードを保存してゲームを起動するだけでMixinが反映されます。
- 2種類のパッチ形式をサポート:
- Dynamic Java Mixin (
.java): 通常のSpongePowered Mixinの書き方(@Mixin,@Inject,@Redirect等)をそのまま記述可能。起動時にオンザフライで自動コンパイルされ、Mixinサブシステムに注入されます。 - Declarative JSON Patch (
.json): Javaコードを書くことなく、簡単なJSON定義だけでメソッドのキャンセルや戻り値の変更、ログ出力をフックできる軽量パッチ形式。
- Dynamic Java Mixin (
- 専用フォルダの自動生成: MOD導入後、初回起動時にインスタンス直下に
patches/フォルダが自動生成され、すぐに使えるサンプルコード(SamplePlayerPatch.java,sample_cancel_fall_damage.json)と解説書(README.txt)が自動配置されます。 - 親切なエラーログ出力: もし構文エラーやコンパイルエラーがあった場合、クラッシュを防ぎつつ
patches/compile_errors.logにエラー発生行と原因を詳細に出力します。
- 第1部: 現時点でできること: オンザフライ適用、自動生成、エラー診断などの全機能解説。
- 第2部: 書式・標準Javaとの違い・具体例: 通常のMixin開発との違い比較表、Java/JSONパッチの実装具体例。

