- Yarn — это сообществом названное, открытое программное обеспечение для Fabric с полными параметрами методов.
- Mojmap — это официальное название от Mojang, выпускаемое вместе с каждой версией с 1.14.4.
- Оба они основаны на стабильных слоях, поэтому читаемые имена могут меняться без поломки модов.
- Многие проекты Fabric теперь строятся на основе Mojmap и применяют переименования Yarn поверх.
Yarn — это система именования, созданная сообществом, с открытым исходным кодом для Fabric, которая включает в себя описательные имена и полные параметры методов. Mojmap — это официальная система именования от Mojang, которая выпускается вместе с каждой версией с 1.14.4. Выбирайте Yarn, если вам нужна бесплатная, хорошо документированная система именования; выбирайте Mojmap, если вам нужны имена, соответствующие тем, что использует Mojang, и которые никогда не меняются.
Что представляет собой каждый из них
Yarn — это набор отображений, поддерживаемый FabricMC. Волонтеры присваивают понятные имена запутаным классам, полям и методам в Minecraft, и эти имена располагаются поверх стабильного слоя Intermediary, чтобы их можно было переименовать без поломки скомпилированных модов.
Mojmap — это официальная таблица отображений, которую Mojang публикует вместе с каждой версией с 1.14.4 и далее. Имена берутся непосредственно из исходного кода Mojang, поэтому они соответствуют тому, как разработчики называют вещи внутри. Она заменила MCP и Searge в качестве стандарта для любых новых проектов.
В чем разница
Разделение сводится к тому, кто выбирает имена и как лицензия к ним относится. Имена Yarn выбираются сообществом и могут использоваться и распространяться свободно. Имена Mojmap принадлежат Mojang, и лицензия исторически была щедрой в отношении использования во время компиляции, но более осторожной в отношении распространения. Современные загрузчики решают это за вас.
| Нить | Mojmap | |
|---|---|---|
| Кто присваивает имена | Сообщество FabricMC | Mojang (официально) |
| Первоначально доступно | Эра Fabric | Начиная с 1.14.4 |
| Параметры методов | С именами и документацией | Часто отсутствуют |
| Лицензирование | Открытое, свободно распространяется | Разрешительное во время компиляции |
| Стабильный слой в основе | Промежуточный | Карта обфускации для каждой версии |
| Наилучший выбор | Моды Fabric, которым нужна документация | Проекты, соответствующие исходному коду Mojang |
Какой выбрать
- Выберите Yarn, если вы строите на Fabric и хотите описательные имена, именованные параметры методов и встроенную документацию. Это долгосрочный стандарт для экосистемы Fabric.
- Выберите Mojmap, если вам нужны имена, соответствующие собственному исходному коду Mojang, вы планируете делиться кодом с людьми, использующими другие загрузчики, или нацелены на 1.21 или более позднюю версию, где официальные отображения являются общим базовым уровнем.
- Многие проекты Fabric теперь строятся на основе Mojmap и применяют переназначения Yarn поверх, поэтому вам не всегда нужно выбирать только один.
Как они связаны с другими отображениями
Оба входят в более длинную историю. До публикации Mojang отображений, моддинговая сцена использовала MCP и Searge для обратного преобразования обфусцированных имен. Начиная с 1.14.4, Mojmap сделал официальные имена доступными, а Yarn вырос как открытая альтернатива Fabric, наложенная на Intermediary. Именно промежуточный слой обеспечивает совместимость модов при переименовании отображений.
Часто задаваемые вопросы
Оба работают на Fabric. Yarn является стандартным решением в экосистеме и поставляется с именованными параметрами и документацией, в то время как Mojmap использует имена, соответствующие Mojang. Выбирайте в зависимости от того, какую систему именования и инструменты предпочитает ваша команда.
Нет. Обфусцированные имена выглядят как a.a.a. Mojmap сопоставляет их с читаемыми именами, которые использует Mojang внутренне и публикует для каждой версии.
Да, в некотором смысле. Некоторые сборки Fabric используют Mojmap в качестве основы и применяют переопределения Yarn, поэтому эти два инструмента сосуществуют в одной цепочке инструментов, а не конкурируют напрямую.
Оба сделали MCP и Searge устаревшими для новых проектов с версии 1.14.4 и выше. Более старые проекты с версий 1.7 до 1.12 по-прежнему используют наименование MCP.