Skip to content
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

Intermediary Instability #2250

Closed
PepperCode1 opened this issue Apr 1, 2021 · 2 comments
Closed

Intermediary Instability #2250

PepperCode1 opened this issue Apr 1, 2021 · 2 comments

Comments

@PepperCode1
Copy link
Member

With the new 21w13a snapshot, Mojang deobfuscated some classes and methods. When Yarn updated to 21w13a, all intermediary names of these deobfuscated elements were changed to the new deobfuscated name. This means that some mods compiled before 21w13a would no longer work on 21w13a. This isn't a problem with just this snapshot either. With the DontObfuscate annotation, it can be assumed that Mojang will continue to deobfuscate more elements in the future. Constantly changing the intermediary names to the new deobfuscated names would force mods to make a release for every Minecraft release, even if the part of Minecraft's code the mod uses didn't actually change. The other issue with using deobfuscated names as intermediary is that if the deobfuscated name changes, the intermediary name will change as well.

My solution to this is to use the name provided in the jar, obfuscated or not, as the obfuscated name, instead of setting it to the intermediary name. The intermediary name would always be {element_type}_{id} and would never change. The only exception to this rule would be the three Main entrypoints for client, server, and data.

@liach
Copy link
Contributor

liach commented Apr 1, 2021

agreed. i prompted about this a bit before when mojang's non obf realms extended vanilla screrns and exposed stuff like blit.

@modmuss50
Copy link
Member

Duplicate of FabricMC/intermediary#15

@modmuss50 modmuss50 marked this as a duplicate of FabricMC/intermediary#15 Apr 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants