Миграция маппингов 26.1.2
Узнайте, как перенести отображения обфускации вашего мода.
Если вы планируете обновить свой мод до версии 26.1 или выше, вам потребуется перейти с Yarn на Mojang Mappings.
Для этого существует два способа: вы можете воспользоваться плагином Loom для Gradle или плагином Ravel для IntelliJ IDEA.
Loom предлагает полуавтоматический перенос mappings с помощью задачи migrateMappings, но не поддерживает перенос кода, написанного на Kotlin.
Ravel — это плагин для IntelliJ IDEA, который добавляет диалоговое окно с графическим интерфейсом для переноса. Однако, в отличие от Loom, Ravel также поддерживает Kotlin. Кроме того, Ravel может работать лучше, чем Loom, для более сложных проектов, поскольку он использует IDE для разрешения изменений.
INFO
При переходе с Yarn на Mojang Mappings в Fabric API использовался Ravel. См. PR № 4690 в репозитории Fabric API.
Ни один из вариантов не является идеальным, и вам все равно придется проверять результаты и вносить исправления вручную, особенно при переносе миксинов.
Что происходит с маппингами? {#whats-going-on-with-mappings}
Исторически сложилось так, что Minecraft: Java Edition использовала обфускацию, что привело к разработке карт обфускации, которые Fabric Loom использует для модификации. Было два варианта: либо собственные отображения Fabric, либо официальные отображения Mojang.
Недавно Mojang выпустила первую версию Minecraft: Java Edition с необфусцированным кодом, и проект Fabric принял решение больше не поддерживать сторонние маппинги, начиная с этой версии. Если вы планируете обновить свой мод до этой версии, вам необходимо сначала перейти на отображения Mojang перед обновлением.
Что такое маппинги?
В версии Minecraft: Java Edition с момента выпуска и до версии 1.21.11 использовалась обфускация, то есть понятные для человека имена классов, такие как Creeper, заменялись на бессмыслицу, например brc. Чтобы упростить модификацию, Fabric Loom использует карты обфускации: ссылки, которые переводят зашифрованные имена классов, такие как brc, обратно в понятные для человека имена, такие как CreeperEntity.
Как опытный разработчик Fabric, вы столкнетесь с тремя основными наборами имен:
- Intermediary (Посредник): набор сопоставлений (маппингов), который использовался скомпилированными модами Fabric для обфусцированных релизов; например,
brcмог статьclass_1548. Смысл Intermediary заключался в предоставлении стабильного набора имен во всех релизах, так как обфусцированные имена классов меняются с каждой новой версией Minecraft. Это часто позволяет модам, созданным для одной версии, работать и в других версиях, если соответствующие части игры не претерпели значительных изменений. - Yarn: набор открытых карт, разработанный Fabric для создания модификаций. Большинство модификаций Fabric использовали маппинги Yarn, так как они были стандартными до 2025 года. Примером этого маппинга может служить
CreeperEntity. - Mojang Mappings: официальные карты обфускации игры, выпущенные Mojang в 2019 году для помощи в разработке модификаций. Примечательно, что в отображениях Mojang отсутствуют имена параметров и Javadocs, поэтому некоторые пользователи также накладывают Parchment поверх официальных маппингов. Примером этого маппинга может служить
Creeper.
Версия Minecraft 26.1 не подвергалась обфускации и содержит имена параметров, поэтому нет необходимости в каких-либо картах сопоставлений для обфускации.


















