Add descriptor for field scheme inside ClassInfo - #9
Conversation
Byte-code allow you to have same field names if descriptors are different. Remapper wes crashing if so happened
|
Why does this need to be supported if Mojang doesn't actually have this case within their obfuscated code? |
|
PaperMC team uses this project for remapping plugins on runtime to have mojang mappings on runtime since MC 1.20.5/6, more info: https://forums.papermc.io/threads/important-dev-psa-future-removal-of-cb-package-relocation.1106/ Some plugins have obfuscation with same field names and different descriptors, so all fails. To see example, please, check mentioned issue above |
Okay, wait. You mean to tell me that some paper plugins obfuscate... their own code (?) |
|
Basically, yes. It is a common practice for large resources like anti-cheats and I am talking not only about premium resources. |
Matyrobbrt
left a comment
There was a problem hiding this comment.
You also missed the spot where class infos are created from runtime Classes.
Added raw storage "fieldName -> info" to keep performance Previous separator space changed to dot separator Changed runtime class fields retrieving also
Byte-code allow you to have same field names if descriptors are different. Remapper was crashing if so happened.
File for testing: ObfProblem-1.0-SNAPSHOT.zip