Только для Java Edition |
Карты обфускации — это файлы сопоставлений ProGuard от старых (изначальных) к новым (обфусцированным) имена классов и переменных, которые были переименованы.[1] Они экспортируются в client.json для каждой версии, доступной в лаунчере, начиная с 19w36a, и client.json для 1.14.4, который был слегка обновлён после выпуска 19w36a, чтобы тоже включать в себя карты обфускации.[2]
Карты обфускации могут использоваться для расшифровки трассировок стека (например, в отчётах об ошибках) к более понятному виду.[3]
Dinnerbone и Адриан Эстергорд предположили, что карты обфускации могут сделать разработку модов легче.[4][5] Searge разъяснил, что карты обфускации могут заменить сторонние средства, например Minecraft Coder Pack.[6]
12 августа 2020 Dinnerbone заявил, что разработчики могут переходить на использование официальных названий от Mojang, приведённых в картах обфускации.[7]
Карты обфускации содержат достаточно сведений, чтобы деобфусцировать Minecraft для декомпиляции. Для этих целей есть сторонние программы.
Согласно лицензии, такой декомпилированный исходный код можно распространять лишь в модифицированном виде или в виде части большего проекта. До 14 августа 2020 позволялось лишь использовать его только в личных целях.
Каждый файл карты обфускации начинается со строки, обозначающей лицензию карт.
Текущая лицензия используется с версии 21w03a:
# (c) 2020 Microsoft Corporation. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here. Use and modification of this document or the source code (in any form) of Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula.
Версии до 21w03a имеют слегка другую лицензию.
# (c) 2020 Microsoft Corporation. All rights reserved. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here. Use and modification of source code for Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula.
Карты обфускации для отсутствующих в лаунчере версий, опубликованных до 14 августа 2020, например Combat Tests, доступны по старой лицензии.
# (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.
Согласно Dinnerbone, любые карты обфускации, выпущенные до обновления лицензии 14 августа 2020, доступны по данной старой лицензии, а также новой.[8]
3 сентября 2019 | Dinnerbone упоминает о «маленьком сюрпризе для моддеров!» в 19w36a. | ||||
---|---|---|---|---|---|
Официальный выпуск Java Edition | |||||
1.15 | 19w36a | Ссылки на скачивание клиентских и серверных карт обфускации теперь доступны в client.json. | |||
4 сентября 2019 | Dinnerbone выпускает карты обфускации и для версии 1.14.4. | ||||
12 августа 2020 | Dinnerbone сообщает об обновлении лицензии к картам обфускации Mojang, заявляя в другом твите, что это «поможет с совместимостью». | ||||
Он также показал предварительную версию обновлённой лицензии. | |||||
14 августа 2020 | Лицензия карт обфускации была обновлена. | ||||
version_manifest.json был обновлён так, чтобы файлы client.json для 1.14.4 и версий с 19w36a ссылались на обновлённые карты обфускации. | |||||
1.17 | 21w03a | Изменены формулировки в лицензии. |
# (c) 2019 Microsoft Corporation.
в строке о лицензии карт обфускации. youJustLostTheGame()
, пасхальное яйцо, отсылающее к The Game.