Миграция маппингов 26.1.2
Узнайте, как перенести отображения обфускации вашего мода.
WARNING
Эта страница написана для версии 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 не подвергалась обфускации и содержит имена параметров, поэтому нет необходимости в каких-либо картах сопоставлений для обфускации.


















