Можливо, ви захочете перейти з Yarn на мапінги Mojang, особливо якщо ви плануєте оновити свій мод після покращення Mounts of Mayhem.
Є два способи зробити це: ви можете використовувати плаґін Loom Gradle або плаґін Ravel IntelliJ IDEA.
Loom пропонує напівавтоматичне переміщення мапінгів за допомогою завдання migrateMappings, але не підтримує перенесення коду, написаного на Kotlin.
Ravel — це плаґін для IntelliJ IDEA, який додає діалог інтерфейсу для міграції. Однак, на відміну від Loom, Ravel також підтримує Kotlin. Крім того, Ravel може працювати краще, ніж Loom, для складніших проєктів, оскільки він використовує IDE для вирішення змін.
INFO
API Fabric використовує Ravel для переходу з мапінгів Yarn на Mojang. Перегляньте PR #4690 в репозиторії API Fabric.
Жоден варіант не є ідеальним, і вам все одно доведеться переглядати результати та вносити виправлення вручну, особливо якщо ви переміщуєте міксини.
Що відбувається з мапінгами?
Історично Minecraft: Java Edition використовував обфускацію, що призвело до розробки мап обфускації, які Fabric Loom використовує для модифікації. Було два варіанти: або власні мапінги Yarn від Fabric, або офіційні мапінги Mojang.
Mojang нещодавно оголосили, що вони видаляють обфускацію коду з Minecraft: Java Edition, а Fabric Project розробив свій план роботи з цією зміною. Якщо ви плануєте оновити свій мод до цієї версії, вам потрібно буде спочатку перейти до маппінгів обфускації Mojang перед оновленням.
Що таке мапінги?
Minecraft: Java Edition було обфусковано з моменту його випуску, що означає, що його код мав зручні для людини назви класів, як-от Creeper, замінені на тарабарщину, як-от brc. Щоб легко модифікувати його, Fabric Loom використовує мапи обфускації: посилання, які перетворюють заплутані назви класів, як-от brc, назад у зручні для людини назви, такі як CreeperEntity.
Як розробник Fabric ви зіткнетеся з трьома основними наборами імен:
- Intermediary: набір мапінгів, який використовується скомпільованими модами Fabric; наприклад
brcможе статиclass_1548. Суть Intermediary полягає в тому, що він пропонує стабільний набір імен у всіх випусках, оскільки обфусковані імена класів змінюються з кожною новою версією Minecraft. Це часто дозволяє модам, створеним для однієї версії, працювати на інших, якщо уражені частини гри не сильно змінилися. - Yarn: набір мап із відкритим кодом, розроблений Fabric для написання модів людьми. Більшість модів Fabric використовували мапінги Yarn, оскільки вони були типовими до 2025 року. Прикладом мапінгу може бути
CreeperEntity. - Мапінги Mojang: офіційні мапінги обфускації гри, випущені Mojang у 2019 році для допомоги в розробці модів. Примітно, що у мапінгах обфускації Mojang відсутні назви параметрів і Javadocs, тому деякі користувачі також накладають Parchment на офіційні мапінги. Прикладом мапінгу може бути
Creeper.
Minecraft 26.1 буде деобфускатованим та включатиме назви параметрів, тому не буде потреби в будь-яких мапінгах обфускації.


















