Table of Contents
Настройка среды разработки модов
Обязательно нужно
- Java Development Kit (JDK) для Java 17 (рекомендуется) или новее. Чтобы установить его, зайдите на https://adoptium.net/releases.html.
- Если вы профессионал, вы можете получить JDK здесь, который необходимо извлечь и настроить системные переменные вручную.
- Любая Java IDE, например Intellij IDEA или Eclipse. Вы также можете использовать любые другие редакторы кода, такие как Visual Studio Code.
- Если вы не знакомы ни с одним из них, мы рекомендуем использовать Intellij IDEA, поскольку это то, что большинство людей выбирают для моддинга.
Плагин MinecraftDev IntelliJ IDEA
Если вы используете IntelliJ IDEA, вы можете использовать плагин MinecraftDev. Этот плагин добавляет поддержку автоматического создания проектов Fabric, а также некоторых функций, связанных с mixin, таких как проверки, генерация accessors/shadow полей и копирование целевых ссылок Mixin (дескрипторов JVM). Плагин можно найти в репозитории плагинов IntelliJ, таким образом, вы можете установить его с помощью внутреннего браузера плагинов IntelliJ, перейдя в File → Settings → Plugins, затем перейдите на вкладку Marketplace и выполните поиск по слову Minecraft.
Ручное управление
- Скопируйте начальные файлы fabric-example-mod (или версию для Kotlin, если вы хотите использовать Kotlin), за исключением файлов
LICENSE
иREADME.md
, так как они нужны только для самого шаблона и не обязательны для Вашего мода. - Отредактируйте
gradle.properties
:- Установите полям
archives_base_name
иmaven_group
ваши предпочтительные значения. - Не забудьте обновить версию Minecraft, маппингов, Loom и Loader, - все это может быть запрошено через https://fabricmc.net/develop/ - чтобы соответствовать версиям, на которые вы настроены.
- Добавьте в
build.gradle
иные зависимости, которые Вы планируете использовать.
- Импортируйте файл
build.gradle
в вашу среду разработки. Вы можете обратиться к следующему разделу для получения информации о конкретных IDE. - Счастливой разработки!
Если вы не можете использовать плагин MinecraftDev или fabric-example-mod, вы также можете использовать GeneratorFabricMod от ExtraCrafTX, удобный инструмент для автоматического создания новых модов Fabric из шаблона. Выполните следующие действия:
- Скачайте последнюю версию GeneratorFabricMod здесь и извлеките его.
- Создайте новый каталог, затем запустите там командную строку и введите
path/to/GeneratorFabricMod/bin/GeneratorFabricMod
. - После того как он получит свои зависимости, следуйте инструкциям и введите необходимую информацию.
- Теперь все готово, просто откройте папку проекта в вашей IDE.
IntelliJ IDEA
Если вы используете IntelliJ IDEA от JetBrains, пожалуйста, выполните следующие действия:
- В главном меню IDEA, выберите 'Import Project' (или File → Open… если у вас уже есть открытый проект).
- Выберите файл build.gradle проекта, чтобы импортировать его.
- После того как Gradle закончит настройку, закройте проект (File → Close Project) и снова откройте, чтобы исправить неверное отображение конфигураций запуска.
- (Если конфигурации запуска по-прежнему не отображаются, попробуйте повторно импортировать проект Gradle с вкладки Gradle в IDEA.)
Необязательно, но рекомендуется: По умолчанию IntelliJ делегирует Gradle для создания проекта. Это не требуется для Fabric и, помимо прочих проблем, приводит к увеличению времени сборки и странностям, связанным с горячей заменой. Чтобы сделать это, используйте встроенный компилятор:
- Откройте диалоговое окно 'Gradle Settings' на вкладке Gradle.
- Измените поля 'Build and run using' и 'Run tests using' на 'IntelliJ IDEA'.
- Перейдите в File → Project Structure → Project и установите 'Project compiler output' на
$PROJECT_DIR$/out
.
К сожалению, в настоящее время невозможно установить значение IDE по умолчанию для параметров 'Build and run using' и 'Run tests using', поэтому эти шаги должны повторяться для каждого нового проекта.
ПРИМЕЧАНИЕ: Не запускайте задачу gradle ./gradlew idea
, так как это портит gradle и нарушает среду разработки.
Eclipse
Если вы используете Eclipse и хотите, чтобы IDE запускала конфигурации, вы можете запустить gradlew eclipse
. Затем проект можно импортировать как обычный (не gradle) проект Eclipse в вашу рабочую область, используя меню 'File' - 'Import…', затем 'General' → 'Existing Projects into Workspace'.
Visual Studio Code
Если вы используете VSCode, следуйте этим инструкциям
Генерация Minecraft исходников
Чтение исходного кода Minecraft является неотъемлемой частью моддинга. К сожалению, мы не можем опубликовать исходный код Minecraft, потому что это нарушает лицензионное соглашение Minecraft. Вам нужно самостоятельно сгенерировать исходный код Minecraft.
Чтобы сгенерировать исходный код Minecraft. запустите задачу gradle genSources
.
Если ваша IDE не имеет интеграции с gradle, выполните следующую команду в терминале: gradlew genSources
(или ./gradlew genSources
в Linux/macOS).
Это может занять некоторое время, в зависимости от мощности вашего компьютера.
Возможно, вам потребуется обновить gradle после выполнения задачи.
Смотрите Чтение исходного кода Minecraft о том, как прочитать исходный код.
Приступаем к работе
Попробуйте добавить предмет или блок. Также посетите Применение изменений без перезапуска Minecraft.
Совет
- Хотя Fabric API не является строго необходимым для разработки модов, его основная цель обеспечить кросс-совместимость, где этого не делает игровой движок, и поэтому он настоятельно рекомендуется! Даже некоторые учебники в вики неявно требуют Fabric API.
- Иногда при разработке fabric-loom (нашего плагина Gradle build) могут возникать проблемы, требующие сброса файлов кэша. Это можно сделать, запустив
gradlew cleanloom
. Запускgradlew --stop
также может помочь с несколькими редкими проблемами. - Не стесняйтесь задавать вопросы! Мы здесь, чтобы помочь вам и работать с вами, чтобы сделать ваш мод мечты реальностью.
Диагностика
Отсутствующие звуки
Иногда при импорте проекта Gradle в IDE ресурсы могут загружаться неправильно. В этом случае запустите задачу downloadAssets
вручную - либо с помощью встроенного меню IDE, либо просто запустив gradlew downloadAssets
.