From f620d7b6141c5cd03cc3feeb61d7f6b337323c5e Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Wed, 30 Jul 2025 11:30:28 +0200 Subject: [PATCH 1/3] update readme about mixins + add documentation links --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6152302d..31e9d35c 100644 --- a/README.md +++ b/README.md @@ -61,10 +61,12 @@ __Warning:__ Access Transformers are bugged and will deny you any sources for th ### Mixins -Mixins are usually used to modify vanilla or mod/library in runtime without having to change source code. For example, redirect a call, change visibility or make class implement your interface. It's an advanced topic and most mods don't need to do that. +[Mixins](https://github.com/SpongePowered/Mixin) are used to modify vanilla or mod/library code during runtime without having to edit and recompile their source code. For example, redirect a method call, inject additional code, access private fields/methods, make a class implement your interface... It's an advanced topic and most mods don't need to do that. + +Documentation about Mixin features can be found here : [Mixin Wiki](https://github.com/SpongePowered/Mixin/wiki) and [MixinExtras Wiki](https://github.com/LlamaLad7/MixinExtras/wiki) You can activate Mixin in 'gradle.properties'. In that case a mixin configuration (usually named `mixins.mymodid.json`) will be generated automatically, and you only have to write the mixins itself. Dependencies are handled as well. -Take a look at the examples in [Hodgepodge](https://github.com/GTNewHorizons/Hodgepodge/) and [Angelica](https://github.com/GTNewHorizons/Angelica/pull/8). +Take a look at the examples in [Hodgepodge](https://github.com/GTNewHorizons/Hodgepodge/) and [Angelica](https://github.com/GTNewHorizons/Angelica). ### Advanced From bc63d05ad641fa778604428180fd4d97b1a501aa Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Wed, 30 Jul 2025 14:05:08 +0200 Subject: [PATCH 2/3] add example mixins setup commits to the readme --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 31e9d35c..facf5903 100644 --- a/README.md +++ b/README.md @@ -64,9 +64,14 @@ __Warning:__ Access Transformers are bugged and will deny you any sources for th [Mixins](https://github.com/SpongePowered/Mixin) are used to modify vanilla or mod/library code during runtime without having to edit and recompile their source code. For example, redirect a method call, inject additional code, access private fields/methods, make a class implement your interface... It's an advanced topic and most mods don't need to do that. Documentation about Mixin features can be found here : [Mixin Wiki](https://github.com/SpongePowered/Mixin/wiki) and [MixinExtras Wiki](https://github.com/LlamaLad7/MixinExtras/wiki) +To see examples you can find lots of mixins in the mods : [Hodgepodge](https://github.com/GTNewHorizons/Hodgepodge) and [Angelica](https://github.com/GTNewHorizons/Angelica). -You can activate Mixin in 'gradle.properties'. In that case a mixin configuration (usually named `mixins.mymodid.json`) will be generated automatically, and you only have to write the mixins itself. Dependencies are handled as well. -Take a look at the examples in [Hodgepodge](https://github.com/GTNewHorizons/Hodgepodge/) and [Angelica](https://github.com/GTNewHorizons/Angelica). +To add Mixins to your project follow one of the example commits : +- use [normal mixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/beba55615fa8337b7639f0d5b18db6cc8d4826be) for basic and quick registration +- use [GTNH Early/Late mixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/9061956585331720af18702d7fac596ebb07d4b4) system to have full control over the registration logic and check for presence of other mods during runtime to load your mixins +- use [GTNH IMixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/e9b3556df575345b9aa146ce620f44f718d335d1) (recommended) system for the same thing as the above but in a less verbose and more unified manner using the IMixins api + +When enabling mixins in your project the dependencies are handled automatically. ### Advanced From efadeb2817d3cae7e2c90bd3c2847b5f18b998de Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Sat, 2 Aug 2025 12:01:15 +0200 Subject: [PATCH 3/3] update commit links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index facf5903..a7d555e0 100644 --- a/README.md +++ b/README.md @@ -68,8 +68,8 @@ To see examples you can find lots of mixins in the mods : [Hodgepodge](https://g To add Mixins to your project follow one of the example commits : - use [normal mixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/beba55615fa8337b7639f0d5b18db6cc8d4826be) for basic and quick registration -- use [GTNH Early/Late mixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/9061956585331720af18702d7fac596ebb07d4b4) system to have full control over the registration logic and check for presence of other mods during runtime to load your mixins -- use [GTNH IMixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/e9b3556df575345b9aa146ce620f44f718d335d1) (recommended) system for the same thing as the above but in a less verbose and more unified manner using the IMixins api +- use [GTNH Early/Late mixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/c4df59d92164775b69451f3e690239e93d1fc979) system to have full control over the registration logic and check for presence of other mods during runtime to load your mixins +- use [GTNH IMixins](https://github.com/GTNewHorizons/ExampleMod1.7.10/commit/055cd4f18765a421a86c706f53b62116988297e3) (recommended) system for the same thing as the above but in a less verbose and more unified manner using the IMixins api When enabling mixins in your project the dependencies are handled automatically.