-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add descriptor for field scheme inside ClassInfo #9
base: main
Are you sure you want to change the base?
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You also missed the spot where class infos are created from runtime Class
es.
src/main/java/net/neoforged/art/internal/ClassProviderImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/net/neoforged/art/internal/ClassProviderImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/net/neoforged/art/internal/ClassProviderImpl.java
Outdated
Show resolved
Hide resolved
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