drafts:mixin_obfuscation
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| drafts:mixin_obfuscation [2025/12/29 10:59] – gauntrecluse | drafts:mixin_obfuscation [2025/12/29 11:14] (current) – gauntrecluse | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Mixins and Obfuscation (DRAFT) ====== | ====== Mixins and Obfuscation (DRAFT) ====== | ||
| - | ===== What is Obfuscation? | + | ===== Introduction |
| Obfuscation refers to a process used by Mojang up until 26.1, in which the names in the game's code were made obfuscated, in other words were scrambled to be meaningless. In order to get around this and be able to mod with meaningful names, the MC modding community has been using mappings, including mainly Yarn mappings, a libre-licensed set of mappings developed by and mainly for Fabric until obfuscation was dropped, and Mojang/" | Obfuscation refers to a process used by Mojang up until 26.1, in which the names in the game's code were made obfuscated, in other words were scrambled to be meaningless. In order to get around this and be able to mod with meaningful names, the MC modding community has been using mappings, including mainly Yarn mappings, a libre-licensed set of mappings developed by and mainly for Fabric until obfuscation was dropped, and Mojang/" | ||
| Line 10: | Line 10: | ||
| - | ==== Which MC versions are not obfuscated? | + | ==== Obfuscated Versions |
| Minecraft is obfuscated up to and including 1.21.11, meaning that the first unobfuscated versions will be 26.1 and its snapshots. An easy way to remember it is that MC versions are obfuscated up until the change to the new versioning scheme. | Minecraft is obfuscated up to and including 1.21.11, meaning that the first unobfuscated versions will be 26.1 and its snapshots. An easy way to remember it is that MC versions are obfuscated up until the change to the new versioning scheme. | ||
| Line 16: | Line 16: | ||
| Unobfuscated versions will no longer require any obfuscation mappings or remapping, meaning that MC code will be targetable in roughly the same ways as any other Java library present at runtime and not loaded before Mixin. | Unobfuscated versions will no longer require any obfuscation mappings or remapping, meaning that MC code will be targetable in roughly the same ways as any other Java library present at runtime and not loaded before Mixin. | ||
| - | ==== Are mods Obfuscated? | + | ==== Modded targets |
| The short answer is no, mods are not obfuscated. //However// an important thing to note is that obfuscated methods will still need remapping even if targeting an override within a non-obfuscated class. This is typically seen with MC method overrides in another mod. | The short answer is no, mods are not obfuscated. //However// an important thing to note is that obfuscated methods will still need remapping even if targeting an override within a non-obfuscated class. This is typically seen with MC method overrides in another mod. | ||
| - | ===== Writing Mixins | + | ===== How obfuscation affects |
| ==== The Mixin Refmap and the Annotation Processor ==== | ==== The Mixin Refmap and the Annotation Processor ==== | ||
drafts/mixin_obfuscation.1767005984.txt.gz · Last modified: 2025/12/29 10:59 by gauntrecluse