this page is a draft being written by GauntRecluse! Feedback is appreciated but the page is currently not ready to be read by users of the Wiki!
This page aims to address terms, acronyms, abbreviations, expressions, etc. and define them within as broad a scope as possible without describing technicalities or how to use them. It is complementary to actual documentation on how to use the tools and subsystem of Mixin and should only be used to get a quick, general idea of what a term means in the context of Mixin usage and learning. This glossary should also be taken with a grain of salt, as much as feedback will try to be used to make the definitions as accurate as possible, it can be as unreliable as any Wiki page.
It is advised to read the Introduction to Mixins (WIP) page.
Seeing as this page is likely to change a lot with time as terms, both official and common usage ones, may vary over time and need many amendments as both Mixin and associated libraries – mainly MixinExtras currently – evolve and get used in different contexts; it feels wise to add a section on best practices for contributing to this page in the long run.
If you wish to contribute it is appreciated to use references to external sources whenever possible, preferably the official Mixin Wiki, the Mixin javadoc and the official MixinExtras Wiki. If not, base your definitions on feedback from experienced devs and be willing to be scrutinized.
Due to the amount of potential areas that could be edited, it would also be appreciated to always specify which definitions you're adding or editing in your edit summary messages. If necessary, split your edit into different smaller edits to be able to more clearly indicate which definitions were modified.
When you are doubtful on a term's definition, add a FIXME above the relevant text with text in italics until a more confident definition can be found. Definitions should generally take the form of itemized lists with the term above the list's first items. Synonyms should be grouped together. Footnotes references describing the same resource and so on should use the exact same text so that they both redirect to the same footnote.
TODO notes should always describe what should be added there and should ideally be in italics
TODO: Probably add subsections depending on the terms?
This is under heavy construction and probably contains inaccuracies, likely redundancies, certainly inefficient definitions and most definitely is missing relatively important terms
@Mixin
, and will be merged with a target class as a means to modify it.ServerLevel
class.
Technical article on callback injectors, Mixin Wiki: Advanced Mixin Usage; Callback Injectors
MixinExtras Wiki: MixinExtras Wiki Home Page
@Inject
's callback who is mostly a plain method call at the injection point.@At
annotation's value
field. Certain injection points are self-sufficient, such as “HEAD”
(injects at the head of the target method), whilst others may necessitate more discriminators to have a specific target like “INVOKE”
(injects before a method call, or targets the method call itself depending on the injector). Injection points are used to search for specific Bytecode operations within the boundaries of the target method.