Learn · concepts
Нити против Моджмапа: Сравнение карт для Minecraft (2026)
Объяснение Yarn против Mojmap: в чем разница между двумя наборами инструментов для создания карт Minecraft по вопросам наименования, лицензирования и инструментов, и какой из них выбрать для мода Fabric.
Yarn против Mojmap: в чем разница?
Yarn — это система наименований, созданная сообществом, с открытым исходным кодом для Fabric, которая включает описательные имена и полные параметры методов. Mojmap — это собственная официальная система наименований от Mojang, которая публикуется вместе с каждой версией с 1.14.4. Выбирайте Yarn, если вам нужна бесплатная, хорошо документированная система наименований с именами параметров и javadoc. Выбирайте Mojmap, если вам нужны имена, соответствующие тем, что использует Mojang, и которые никогда не меняются.
Выбор не в том, какая из них правильная — обе верны. Речь идет о том, какой стандарт наименований должна использовать ваш проект и в какой экосистеме вы работаете.
Что представляет собой каждая из них
Yarn — это набор отображений, поддерживаемый FabricMC. Волонтеры присваивают понятные имена запутаным классам, полям и методам в Minecraft, и эти имена располагаются поверх стабильного слоя Intermediary, чтобы их можно было переименовать без поломки скомпилированных модов.
Mojmap — это официальная таблица отображений, которую Mojang публикует вместе с каждой версией с 1.14.4 и далее. Имена берутся непосредственно из исходного кода Mojang, поэтому они соответствуют тому, как разработчики называют вещи внутри. Она заменила MCP и Searge в качестве стандарта для любых новых проектов, нацеленных на современные версии.
Запутанные имена
Minecraft распространяется с обфусцированным кодом: классы названы a.a.a, методы — b, c, d.
Нитки или карта Mojmap те
Каждый набор отображений переводит а.а.а в EntityPlayer, b в move, c в attack.
Ваш мод использует либо то, либо другое
Вы пишете код, ориентируясь на имена Yarn или Mojmap, а не на обфусцированные.
Устойчивый слой под ним
Посредник (для Yarn) или карта обфускации (для Mojmap) поддерживает совместимость скомпилированных модов при переименовании.
Как они отличаются
Различие заключается в том, кто выбирает имена и как лицензия к ним относится. Имена Yarn выбираются сообществом и свободны для использования и распространения. Имена Mojmap принадлежат Mojang, и лицензия исторически была щедрой в отношении использования во время компиляции, но более осторожной в отношении распространения. Современные загрузчики решают это за вас.
| Yarn | Mojmap | |
|---|---|---|
| Кто назначает имена | Сообщество FabricMC | Mojang (официально) |
| Первоначально доступно | Эра Fabric | Начиная с 1.14.4 |
| Параметры метода | С именами и документацией | Часто отсутствуют |
| Лицензирование | Открытое, свободно для распространения | Разрешительное во время компиляции |
| Стабильный слой внизу | Промежуточный | Карта обфускации для каждой версии |
| Лучше всего подходит | Модам Fabric, которым нужна документация | Проектам, соответствующим исходному коду Mojang |
Yarn превосходит все, когда вам нужно понять, что делает метод, не читая декомпилированный код. Параметры метода имеют имена (сущность, скорость, урон) и часто содержат javadoc. Mojmap превосходит все, когда вы перекрестно ссылаетесь на собственный исходный код Mojang или работаете с разработчиками, знакомыми с официальными именами.
Какой выбрать
Выберите Yarn, если вы строите на Fabric и хотите описательные имена, именованные параметры методов и встроенную документацию. Это долгосрочный стандарт для экосистемы Fabric, и большинство сторонних модов нацелены на него.
Выберите Mojmap, если вам нужны имена, соответствующие исходному коду Mojang, вы планируете делиться кодом с людьми, использующими другие загрузчики, или нацелены на 1.21 или более поздние версии, где официальные отображения являются общепринятым стандартом. Если вы изучаете исходный код Mojang или работаете с несколькими типами загрузчиков, Mojmap поддерживает вас в актуальном состоянии.
Многие проекты Fabric теперь компилируются с использованием базы Mojmap и применяют переназначения Yarn поверх нее, поэтому вам не всегда приходится выбирать только один вариант. Ваши инструменты сборки могут накладывать их друг на друга.
Как они связаны с другими отображениями
Оба имеют более длинную историю. До публикации отображений Mojang моддинговая сцена использовала MCP и Searge для обратного преобразования зашифрованных имен. Начиная с версии 1.14.4, Mojmap сделал официальные имена доступными, а Yarn развивался как открытая альтернатива Fabric, наложенная на Intermediary. Именно слой Intermediary поддерживает совместимость модов при переименовании отображений.
Yarn и Mojmap на практике
Если вы начинаете новый мод для Fabric и у вас нет причин предпочитать Mojmap, Yarn — это безопасный выбор по умолчанию. Экосистема по умолчанию ориентирована на него, документация нацелена на него, а поддерживаемые сообществом имена часто включают полезные описания.
Если вы поддерживаете библиотеку, от которой зависят другие загрузчики, или если вы делитесь кодом с разработчиками модов для Forge (которые часто предпочитают Mojmap), Mojmap имеет смысл. Официальные имена — это общий знаменатель.
Если вы не уверены, используйте Yarn. Вы всегда сможете переключиться позже, и инструменты для миграции существуют. Сама карта — это лишь деталь; главное — написать хороший мод.
Часто задаваемые вопросы
Оба работают с Fabric. Yarn был экосистемным стандартом и поставляется с именованными параметрами и документацией, а Mojmap соответствует именам, используемым Mojang. Выберите тот подход к наименованию и инструментам, который предпочтителен для вашей команды.
Нет. Запутанные имена выглядят как a.a.a. Mojmap сопоставляет их с понятными именами, которые Mojang использует внутри, публикуемые для каждой версии.
Да, в некотором смысле. Некоторые сборки Fabric используют базу Mojmap и применяют переопределения Yarn, поэтому они сосуществуют в одной цепочке инструментов, а не конкурируют напрямую.
Оба сделали MCP и Searge устаревшими для новых работ начиная с версии 1.14.4. Более старые проекты с версий 1.7 до 1.12 по-прежнему используют наименование MCP.