User Tools

Site Tools


drafts:mixin_obfuscation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
drafts:mixin_obfuscation [2025/12/24 01:20] – created gauntreclusedrafts:mixin_obfuscation [2025/12/24 05:26] (current) gauntrecluse
Line 7: Line 7:
 This matters as it pertains to Mixins, as on obfuscated versions the mappings will likely not match between the development environment and runtime, and we still want to be able to reference method names, among other things, by the names as they appear in source code. For Fabric's case, the runtime mappings will be intermediary mappings, which follow a pattern of ''field_XXXX'', ''method_XXXX'' or ''class_XXXX''. This matters as it pertains to Mixins, as on obfuscated versions the mappings will likely not match between the development environment and runtime, and we still want to be able to reference method names, among other things, by the names as they appear in source code. For Fabric's case, the runtime mappings will be intermediary mappings, which follow a pattern of ''field_XXXX'', ''method_XXXX'' or ''class_XXXX''.
  
-Note this is an oversimplified overview of obfuscation and the remapping process for the sake of relating it to Mixins.+Note this is an oversimplified overview of obfuscation and the remapping process for the sake of explaining how it relates to Mixins.
  
  
Line 21: Line 21:
  
  
-===== How does obfuscation affect writing Mixins=====+===== Writing Mixins and Obfuscation =====
  
-==== Mixin Refmaps and the Annotation Processor ====+==== The Mixin Refmap and the Annotation Processor ====
  
 The refmap is used by Mixins to map meaningful names in Mixin classes to runtime mappings. The refmap is used by Mixins to map meaningful names in Mixin classes to runtime mappings.
Line 39: Line 39:
  
  
-==== Remapping setting ====+==== Toggling Mixin Remapping ====
  
 By default on obfuscated versions, Mixin classes have remapping enabled for every injector, if you are targeting unobfuscated targets, there are two scopes to turn remapping on or off:   By default on obfuscated versions, Mixin classes have remapping enabled for every injector, if you are targeting unobfuscated targets, there are two scopes to turn remapping on or off:  
drafts/mixin_obfuscation.1766539246.txt.gz · Last modified: 2025/12/24 01:20 by gauntrecluse