Obfuscation map

From Minecraft Wiki
Jump to: navigation, search
Information icon.svg
This feature is exclusive to Java Edition.

Obfuscation maps are Proguard mappings from old (original) names to new (obfuscated) names for classes and class members that have been renamed.[1] They have been exported in the client.json for every snapshot since 19w36a, and the client.json for 1.14.4 has been updated slightly after 19w36a's release to include obfuscation maps as well.[2]

Usage[edit]

The obfuscation maps can be used to remap obfuscated stack traces (as in crash reports) to readable stack traces.[3]

Dinnerbone and Adrian Östergård have suggested that the obfuscation maps may make modding easier.[4][5] Searge has implied that the obfuscation maps can replace certain third-party programs such as the Mod Coder Pack.[6]

Third party usages[edit]

The contents of this section are not supported by Mojang AB, the Minecraft Wiki, or the Minecraft Forums.

The obfuscation maps include enough information to deobfuscate Minecraft for decompilation. Third-party programs may exist for this purpose.

According to the License, such decompiled source code is restricted to internal and reference use.

License[edit]

Every obfuscation map file starts with a line indicating the license of the maps.

# (c) 2019 Microsoft Corporation.  All rights reserved.  This information is provided "as-is" and you bear the risk of using it. This information does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this information for your internal, reference purposes. Microsoft makes no warranties, express or implied, with respect to the information provided here.

History[edit]

September 3, 2019Dinnerbone mentions "a small surprise for modders!" for 19w36a.
Upcoming Java Edition
1.1519w36aDownloads to client and server obfuscation maps are now included in client.json.
September 4, 2019Dinnerbone releases obfuscation mappings for 1.14.4 as well.

References[edit]