You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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 threeMain
entrypoints for client, server, and data.The text was updated successfully, but these errors were encountered: