Minecraft Wiki
Advertisement
Information icon
Тільки для Java Edition

Карти обфускації — це файли зіставлень ProGuard від старих (оригінальних) імен до нових (обфусцированих) імен для класів та членів класів, які було перейменовано.[1] Вони експортуються до client.json для кожньої попередньогї збірки та релізу, доступного в лаунчері, починаючи з 19w36a, і client.json для 1.14.4 було дещо оновлено після випуску 19w36a, щоб включити карти обфускації.[2]

Використання[]

Карти обфускації можуть бути використані для розшифрування трасувань стека (як у звітах про помилки) до більш зрозумілого вигляду.[3] Доступний навчальний посібник.

Dinnerbone та Adrian Östergård припустили, що карти обфускації можуть полегшити модинг.[4][5] Searge припускає, що карти обфускації можуть замінити певні сторонні програми, такі як Mod Coder Pack.[6]

12 серпня 2020 року Dinnerbone заявив, що моддингові проєкти можуть перейти на офіційні назви Mojang, зазначені в картах обфускації.[7]

Використання в сторонніх проєктах[]

Paper
Вміст цього розділу не підтримується Mojang Studios або Minecraft Wiki.

Карти обфускації містять достатньо інформації, щоб деобфусціювати 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.

Згідно з Dinnerbone, будь-які карти обфускації, випущені до оновлення ліцензії 14 серпня 2020 року, все ще будуть доступні під старою ліцензією на додачу до нової ліцензії.[8]

Історія[]

3 вересня 2019 рокуDinnerbone згадує "невеличкий сюрприз для моддерів!" у 19w36a.
Java Edition
1.1519w36aЗавантаження на клієнтські та серверні карти обфускації тепер включено до client.json.
4 вересня 2019 рокуDinnerbone випускає карти обфускації для 1.14.4.
12 серпня 2020 рокуDinnerbone повідомляє, що ліцензія карт обфускації буде оновлена, і заохочує модераторів переходити на карту обфускації Mojang, стверджуючи в іншому твіті], що це "допоможе з сумісністю".
Він також запропонував попередній перегляд оновленої ліцензії.
14 серпня 2020 рокуОновлено ліцензію мап затушовування.
У version_manifest.json додано записи client.json для версії 1.14.4 і версій, починаючи з 19w36a, для посилання на оновлені карти обфускації.
1.1721w03aЗмінено формулювання ліцензії.

Цікаві факти[]

  • З усіх версій Java Edition, опублікованих після 19w36a (4 вересня 2019 року), Combat Test 3 поки що єдина версія, опублікована без карти обфускації.
  • На відміну від попередніх Combat Test, у версії, від якої вона відгалужена, 1.14.4, має опубліковані карти обфускації.
  • Всі наступні Combat Test'и мають карти обфускації і базуються на версіях з випущеними картами обфускації.
  • До оновлення ліцензії 16 серпня 2020 року версії, випущені у 2020 році, мали # (c) 2019 Microsoft Corporation. у повідомленні про ліцензію у файлах карти обфускації.
  • Незважаючи на те, що Combat Test 8b опубліковано після оновлення ліцензії, він все ще використовує старе повідомлення про ліцензію і має повідомлення за 2019 рік.
  • У клієнтських картах обфускації одна з перших перелічених функцій називається youJustLostTheGame(), що є пасхальним посиланням на «Гра».
  • Ця функція використовується для того, щоб викликати аварійне завершення роботи Java після утримання комбінації налагоджувальних клавіш F3 + C протягом десяти секунд.

Примітки[]

Advertisement