Технологии

Пошаговое создание первого мода для Minecraft: разбираемся в Mixin на примере Fabric и Forge

Краткое резюме

Статья предлагает руководство по созданию модов для Minecraft с использованием загрузчика Fabric и инструмента Mixin. Описывается процесс работы с байт-кодом и настройка проекта в среде разработки.

В связи с отсутствием качественных русскоязычных руководств по модификации Minecraft, особенно для его последних версий, данная статья призвана заполнить этот пробел. Описанные ниже методы применимы к популярным загрузчикам модов, таким как Fabric и Forge, и могут быть использованы для реализации различных функций. Для начала необходимо разобраться в основах. При разработке программы на Java и её компиляции создаётся файл с расширением .jar. Внутри этого файла, если его открыть как архив, содержатся файлы с расширением .class, представляющие собой Java байт-код. Эти файлы затем загружаются в виртуальную машину Java (JVM) для выполнения. Загрузчики модов работают путём модификации процесса загрузки классов, изменяя байт-код в соответствии с инструкциями, предоставленными модами. Однако процесс модификации усложняется из-за обфускации, применяемой к коммерческим приложениям, включая Minecraft. Обфускация заключается в замене оригинальных названий классов, полей и методов на бессмысленные символы, что затрудняет обратную разработку. Хотя в последних версиях Minecraft ситуация с обфускацией улучшилась, ранее это было серьёзным препятствием. Для разработки модов потребуется среда разработки, например, IntelliJ IDEA. В данном случае выбран загрузчик Fabric и инструмент для модификации байт-кода Mixin. Все необходимые компоненты уже собраны в удобный шаблон проекта. Далее необходимо перейти в официальный репозиторий Fabric Example Mod и выбрать нужную версию игры, например, 1.20.x. После скачивания проекта следует определить требования к версии JDK, используемые сборщиком gradle, просмотрев файл build.gradle. В данном случае требуется JDK версии 21, которую необходимо скачать и установить. Поскольку репозиторий позволяет сразу запустить модуль (клиент или сервер) для тестирования написанного кода, карты обфускации по умолчанию не применяются. Поэтому необходимо вручную указать их в конфигурационном файле. В ломе (конфигурационной секции) необходимо настроить параметры для Mixin, указав имя файла с данными о сопоставлении изменений в деобфусцированном коде с оригинальным кодом. Это позволяет отслеживать внесённые изменения. После настройки параметров следует скачать и открыть проект в IntelliJ IDEA для дальнейшей работы над модом.

Фильтры и сортировка