Skip to content
Перейти к содержимому
Вернуться в блог
Fabric-loom: Создание Модов Minecraft Без Настройки

Fabric-loom: Создание Модов Minecraft Без Настройки

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
16 просмотров
TL;DR:Fabric-loom - плагин Gradle, автоматизирующий настройку разработки модов Minecraft: декомпиляцию, сопоставление кода и интеграцию IDE. Уберите часы настройки для разработки модов Fabric.
🐙 Открытый проект Minecraft

FabricMC/fabric-loom

Плагин системы сборки Gradle для автоматизации настройки окружения разработки модов Minecraft.

⭐ 337 звёзд💻 Java📜 MIT
Просмотреть на GitHub ↗

Раньше создание модов Minecraft означало часы настройки: декомпиляцию кода, сопоставление переменных, настройку IDE. Fabric-loom автоматизирует почти всё, чтобы вы могли начать кодирование за минуты, а не дни.

Что делает fabric-loom

Fabric-loom - плагин Gradle, предназначенный для превращения вашего компьютера в полностью функциональную среду разработки модов Minecraft. Но фактически он обрабатывает все мудроручные задачи, стоящих между вами и написанием реального кода.

При запуске Minecraft код обфускается (намеренно перемешан), чтобы его было сложно читать. Хотите изменить его? Сначала необходимо деобфусцировать. Затем нужны сопоставления, переводящие перемешанные имена в понятные для человека. Затем необходимо настроить IDE (IntelliJ, Eclipse, VS Code), чтобы она действительно распознавала всё. Fabric-loom делает всё три задания на фоне, пока вы грабите кофе.

Он построен специально для экосистемы Fabric, которая использует сопоставления Yarn (сопоставления, вносящиеся сообществом, человечески читаемые имена для кода Minecraft). Плагин автоматически интегрирует эти сопоставления, настраивает перемаппинг и генерирует правильные конфигурации запуска, чтобы вы могли сразу же войти в режим отладки. Поддерживает современные версии Minecraft (1.14.4 и выше), требует Java 16 или новее, и работает с Gradle 7 и выше.


Почему моддеры используют его вместо ручной настройки

До fabric-loom настройка окружения разработки модов была многочасовой мучной работой. Вам нужно было скачать серверный jar Minecraft, декомпилировать его с помощью инструментов, таких как Fernflower или CFR, вручную патчить сопоставления, настраивать IDE, устанавливать задачи запуска и надеяться, что ничего не сломается в процессе. Полутора раз что-то было неправильно настроено, и вы тратили ещё час на отладку, почему ваш мод не запускается.

Fabric-loom полностью устраняет это. Всё обрабатывается автоматически и последовательно.

Другая огромная выгода: при обновлении Minecraft вы не начинаете с нуля. Этот плагин обрабатывает перемаппинг и повторную декомпиляцию для новых версий. Yarn (проект сопоставлений) регулярно обновляется, и fabric-loom включает эти улучшения без каких-либо ручных изменений с вашей стороны.

Кроме того, интеграция IDE действительно полезна. Вы получаете правильные конфигурации запуска, отладочные точки работают сразу, и IntelliJ действительно понимает код Minecraft. Если вы когда-либо пытались читать обфусцированный Java, вы знаете, какой это облегчение.


Начало работы: Установка и Настройка

На самом деле, давайте вернёмся назад. Самый простой способ начать работать с fabric-loom - это склонировать официальный пример мода, а не строить loom с нуля. Один пример мода уже имеет всё правильно настроено.

bash
git clone https://github.com/FabricMC/fabric-example-mod.git
cd fabric-example-mod

Это всё для базовой настройки. Файл build.gradle примера мода уже настроен с fabric-loom.

Если вы добавляете loom в существующий проект, вы добавите его в build.gradle:

gradle
plugins {
 id 'fabric-loom' version '1.16'
}

repositories {
 mavenCentral()
 maven { url 'https://maven.fabricmc.net' }
}

dependencies {
 minecraft 'com.mojang:minecraft:1.21.1'
 mappings loom.officialMojangMappings()
 modImplementation 'net.fabricmc:fabric-loader:0.19.0+'
}

Затем запустите `gradle build`, и loom займётся остальным. Он скачает Minecraft, деобфусцирует его, применит сопоставления и настроит вашу IDE автоматически.


Ключевые Функции, Которые Уберяют Часы

Автоматическая декомпиляция и перемаппинг. Серьёзно, это главная функция. Ваш исходный код превращается из непонятных обфусцированных имён в фактически английские имена переменных, поскольку сопоставления Yarn поддерживаются сообществом. Когда вы видите метод `method_12847`, Yarn, вероятно, сопоставил его с чем-то осмысленным, например, `canFly()`. Fabric-loom применяет эти сопоставления прозрачно.

Конфигурации запуска IDE. После запуска gradle ваша IDE знает, как запустить Minecraft в режиме разработки. Вы можете нажать кнопку отладки и пройти по точкам останова в коде Minecraft. Но это большая проблема для понимания того, что действительно происходит, когда запускается ваш мод.

Поддержка декомпиляторов. Fabric-loom использует декомпиляторы Fernflower и CFR для генерации фактического исходного кода с комментариями, а не просто байт-кода. Разница в читаемости огромна. Вы читаете код, который выглядит как написанный человеком, а не машиной.

Поддержка tiny mappings. Плагин был построен с нуля для использования сопоставлений Yarn (маленький формат). Но это значит, что вы получаете поддерживаемые сообществом, человечески читаемые имена для всего в Minecraft. Это не идеально, но это намного лучше, чем работа с обфусцированным кодом.

Мульти-IDE поддержка. Будь то IntelliJ IDEA, Eclipse или VS Code, fabric-loom генерирует правильные файлы конфигурации. Вам не нужно手опительно подключать пути к исходникам или директории вывода.


Советы и Общие Проблемы

Сначала: убедитесь, что у вас Java 16 или новее. Я видел, как люди пытаются использовать более старые JDK и получают загадочные ошибки, которые не имеют отношения к реальной проблеме.

Второе: версия gradle важна. Плагин ориентирован на Gradle 7 или новее. Если ваш сборщик разбивается загадочно, проверьте `gradle -version` сначала. То же самое с обёрткой Gradle - иногда кэшированная обёртка устарела.

Декомпиляция и перемаппинг могут занять несколько минут при первом сборке, особенно на более медленных машинах. Не паникуйте, если gradle кажется зависшим. Грабите кофе. При последующих сборках это закэшировано, поэтому вы будете ждать только фактическую компиляцию.

Одна вещь, которая сбивает с толку людей: смешивание сопоставлений Yarn с другими источниками сопоставлений. Выберите одно и придерживайтесь его. Если вы используете Yarn (как большинство проектов Fabric), просто используйте `loom.officialMojangMappings()` и продолжайте.

Для развертывания помните, что ваш jar мода должен включать fabric-loader как требование. Вы не упаковываете сам Minecraft - только ваш код мода плюс загрузчик, который подключается к Minecraft во время выполнения.


Тестирование Ваших Модов и Широкая Экосистема

Как только ваш мод действительно компилируется и запускается, тестирование становится важным. Если вы строите моды, взаимодействующие с функциями сервера (системы голосования, команды и т.д.), инструменты, такие как Тестер Minecraft Votifier, полезны для проверки, что эта часть экосистемы работает. Аналогично, если ваш мод генерирует текст или команды, Генератор текста Minecraft полезен для быстрой прототипизации синтаксиса команд или сообщений в игре, которые вы хотите протестировать.

Более широкая точка зрения: fabric-loom быстро приводит вас к рабочей среде разработки, но вы потратите большинство своего времени на фактическое построение функций, а не настройку. Это вся идея.


Когда Вы Можете Хотеть Альтернативы

Fabric-loom специально построен для модов Fabric. Если вы строите моды Forge, плагин Gradle Forge является стандартом и работает достаточно по-другому, чтобы вам нужны были их документы вместо этого.

Если вы работаете над чистыми плагинами сервера (Spigot, Paper, Bukkit), вам не нужен loom вовсе. Они используют разные архитектуры и настройки сборки.

И если вы работаете над запуском Minecraft или совершенно отдельными инструментами, fabric-loom не поможет. Он предназначен специально для разработки модов в экосистеме Fabric.

Но если вы строите мод Fabric? Нет реальной альтернативы, которая делает то, что делает loom. Это стандарт по хорошей причине. Проект имеет 337 звёзд GitHub и активное обслуживание. Но последний релиз (1.16) добавил более строгую валидацию плагинов и лучшую поддержку кэша сборки, показывая, что поддерживающие продолжают активно улучшать вещи.

Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

Похожие статьи

Создание плагинов для серверов Minecraft с помощью Spigradle

Создание плагинов для серверов Minecraft с помощью Spigradle

Spigradle - Gradle-плагин для разработки плагинов Spigot, BungeeCord и NukkitX. Автоматизирует plugin.yml, упрощает зависимости и обеспечивает отладку в IDE, экономя часы настройки.

05.05.2026
Galacticraft 5: Космическое Пространство в Современном Minec

Galacticraft 5: Космическое Пространство в Современном Minec

Galacticraft 5 - полная переписанная версия классического мода для космического исследования в Minecraft, позволяющая строить ракеты, создавать космические станции и исследовать новые планеты. Находится в стадии пре-альфа для Fabric с активным участием сообщества.

03.05.2026
Понимание протокола Minecraft Bedrock в 2026

Понимание протокола Minecraft Bedrock в 2026

Protocol - это Java-библиотека кодеков для Minecraft Bedrock Edition, обрабатывающая кодирование/декодирование пакетов через несколько версий. Это основа для проектов, таких как Geyser, Cloudburst и ProxyPass, делая его необходимым для создания кастомных серверов Bedrock, прокси или инструментов моста.

28.04.2026

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy