tutorial:mixin_introduction
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorial:mixin_introduction [2025/09/26 22:32] – Move footnote about redirects also alternatively being named redirect injectors to be directly at the term in question. gauntrecluse | tutorial:mixin_introduction [2025/10/06 03:03] (current) – misc. rephrasings, replaced itemized list with table, add mention of MCDev gauntrecluse | ||
---|---|---|---|
Line 8: | Line 8: | ||
Mixin is a complex subsystem which merges a mod's Mixin " | Mixin is a complex subsystem which merges a mod's Mixin " | ||
((Mixin classes are not classes in the same way as " | ((Mixin classes are not classes in the same way as " | ||
- | into the targeted classes' | + | into the targeted classes' |
- | It is not recommended to try and learn how Mixin works or how to use it without having some notion of what Bytecode | + | It is not recommended to try and learn how Mixin works or how to use it without having some notion of what Java bytecode |
- | Similarly, Mixin and this documentation expects the user to already be familiar with [[tutorial: | + | Similarly, Mixin and this documentation expects the user to already be familiar with [[tutorial: |
+ | It is recommended to leverage the [[https:// | ||
Mixin can do its work throughout the game's lifecycle, however, a mixin must be applied before the targeted class has loaded. For the majority of mixins, this is very early in the overall Fabric launching process, but do mind that the game launching without Mixin crashing or logging warns doesn' | Mixin can do its work throughout the game's lifecycle, however, a mixin must be applied before the targeted class has loaded. For the majority of mixins, this is very early in the overall Fabric launching process, but do mind that the game launching without Mixin crashing or logging warns doesn' | ||
- | There are different | + | There are different tools Mixin and MixinExtras |
- | ((Since Fabric Loader 0.15, MixinExtras is bundled with Fabric. Since Loader version 0.17.0, MixinExtras major version 0.5.0 is included, and allows access to [[https:// | + | ((Since Fabric Loader 0.15, MixinExtras is bundled with Fabric. Since Loader version 0.17.0, MixinExtras major version 0.5.0 is included, and allows access to [[https:// |
- | provide for modifying source code. Those tools come in the form of Java annotations, | + | provide for modifying source code. Those tools are usable by the users in the form of Java annotations, |
- | FIXME //There ought to be dedicated pages going more in depth about the different tools annotations later on. This segment as it is edited should be kept to an introductory level to Mixin annotations and features.// | + | |
- | * The '' | + | Here is a cursory overview |
- | * Injector Mixin annotations decorate | + | FIXME //There ought to be dedicated pages going more in depth about the different |
- | * Redirector Mixin annotations | + | |
- | * Overwriting, | + | |
- | * Mixin' | + | |
- | //For more complete | + | ^ Feature ^ Overview ^ Notes ^ |
+ | | '' | ||
+ | | Merging | Mixin merges a Mixin class' | ||
+ | | Injectors | Methods and a decorating annotation which creates a set of instructions that call back (called a " | ||
+ | | Redirectors/ | ||
+ | | Overwrites | Done via '' | ||
- | The Fabric Wiki offers several articles that provide practical examples and explanations of some areas of the Mixin and MixinExtras | + | //For more complete and thorough information on Mixin functionality, |
+ | |||
+ | The Fabric Wiki offers several articles that provide practical examples and explanations of some areas of Mixin and MixinExtras: | ||
* [[tutorial: | * [[tutorial: | ||
* [[tutorial: | * [[tutorial: |
tutorial/mixin_introduction.1758925937.txt.gz · Last modified: 2025/09/26 22:32 by gauntrecluse