Minecraft Wiki
Advertisement

Здесь находятся инструкции по созданию модификаций, работающие для версии 1.10+

Подготовка среды и настройка

Сначала подготовим среду для работы с кодом Minecraft.

Forge

Собственно, для создания модов нужен Forge. Скачать его можно здесь с пометкой MDK. Теперь создайте любую папку там, где вам удобно (в примере это «D:\MCModding»), в ней будет находиться Forge и мод. В эту папку распакуйте содержимое архива с Forge. Вы увидите следующее:


Среда разработки

Теперь нам нужно установить Forge, который при установке также произведет декомпиляцию и деобфускацию кода Minecraft, чтобы сразу можно было начать создание модов. Для этого необходим JDK. Скачать его можно Здесь. Затем вам нужно выполнить команду gradlew.bat setupDecompWorkspace eclipse или gradlew.bat setupDevWorkspace eclipse (замените eclipse на idea, если вы используете IntelliJ IDEA). Если вы являетесь пользователем операционной системы Linux, нужно прописать следующие строки в терминале: cd <путь>/<папка с Forge> и ./gradlew setupDecompWorkspace eclipse --refresh-dependencies

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

Перед выполнением команды проверьте, чтобы у вас в win+PauseBreak->Дополнительные параметры->Переменные среды: в JAVA_HOME был указан путь к папке «C:\Program Files\Java\jdk1.8.0_111» и в Path был указан путь к bin-папке java после точки с запятой «…;C:\Program Files\Java\jdk1.8.0_111\bin». Тогда всё благополучно заработает.

Чтобы выполнить команду, можно создать в папке .bat-файл с выбранной вами командой (но обычно он там уже есть) и запустить его. Также вместо всего этого можно запустить командную строку в этой папке (например, нажать ⇧Shift+ПКМ по этой папке и выбрать «Открыть окно команд») и выполнить выбранную команду.

Если процесс занял некоторое время, и нет красной ошибки BUILD FAILED. Установка произведена.

Ошибка декомпиляции Minecraft

Если Вы ввели первую команду, и вылетала ошибка :decompileMC > GC overhead limit exceeded,

В примере путь будет «D:\MCModding\.grable\gradle.properties» или «D:\MCModding\gradlew.bat»

Для Windows

Откройте любым текстовым редактором файл grablew.bat и после строки set DEFAULT_JVM_OPTS добавьте set GRADLE_OPTS=-Xmx2G, сохраните и заново запустите команду gradlew.bat setupDecompWorkspace eclipse

Для Linux

Зайдите в папку \.grable и откройте файл gradle.properties (если отсутствует - создайте) и добавьте строку org.gradle.jvmargs=-Xmx2G (Или больше, если ОЗУ хватит).


Настройка Eclipse

Нужно настроить Eclipse для работы с Minecraft. Первым делом зайдите в него. Он предложит выбрать рабочую директорию (Workspace). Введите туда путь к папке «eclipse» в папке(Путь к папке должен содержать только английские буквы), куда вы распаковали содержимое Forge и поставьте галочку для того чтоб окно больше не появлялось. В примере это «D:\MCModding\eclipse». Если всё прошло успешно, то слева в Eclipse вы увидите раскрывающееся меню Minecraft, а снизу не увидите красных ошибок.

Основные уроки

Урок 1. Директория

Теперь вы можете приступать к созданию своего первого мода.

Заранее придумайте название своего мода (например, My Mod). Перейдём к тому, где должен быть мод в структуре классов Minecraft. Существует некоторый этикет, как оформлять код и всё, что с ним связано. Раскройте проект Minecraft, далее src/main/java. В src/main/java лежит всё, что относится к коду Minecraft. Как вы видите, там есть подпапки (или пакеты) типа net.minecraft.client и так далее. В Java пакетах принято структурировать пакеты так: domain.product или domain.company.product, то есть первое — домен (com, net, ru), далее название компании (если вы единственный разработчик — ваш ник) и название продукта (мода), или же название компании опускается. Minecraft, Minecraft Forge и FML имеют первый вариант структирования пакета. То есть, если ваш никнейм, например, platon, а название вашего мода — My Mod, то нажмите на src/main/java ПКМ и выберите New → package. В поле «Name» наберите «ru.platon.mymod» с учётом регистра. Это создаст директорию, в которой вы и будете работать с модом. Всё, далее можете приступать непосредственно к его созданию.

Урок 2. Главный класс

Итак, можно приступить к созданию мода. Создадим её основу.

Нажмите ПКМ на директории мода (platon.mods.mymod) и выберите New → Class, и в поле Name введите название класса. Это главный класс мода, поэтому пусть это будет указано. Например, одно из возможных названий — «BaseMyMod». Обратите внимание, что каждое слово написано с большой буквы (естественно, именно так делать необязательно, но общепринятым считается именно этот вариант). Далее просто нажмите Finish. Всё, у вас теперь есть главный класс мода.

Приступим к написанию кода. Запишем ВНЕ тела, то есть над строчкой public class... класса следующую строчку:

@Mod (modid = "mymod", name="My Mod", version = "1.0")

Вы написали, что ваша модификация называется «My Mod» и имеет версию 1.0. Но Eclipse сообщает об ошибке, так как ему неизвестно, что значит @Mod. Нужно импортировать соответствующий класс, для этого после строчки с указанием пакета (package platon.mods.mymod;) напишите следующую строчку:

import cpw.mods.fml.common.Mod;

Теперь сообщение об ошибке должно исчезнуть.

Теперь уже в теле (в фигурных скобках) пишем:

@EventHandler
public void preLoad(FMLPreInitializationEvent event)
{
   
}

Опять ошибка. Как вы поняли, ему опять не хватает импортированных классов. Почти всегда можно автоматически их импортировать, если Eclipse знает или догадывается, где их искать.

Вот и всё. Основа мода готова. Можете запустить Minecraft (Зеленая кнопка сверху → Client) и увидеть в списке модов свой мод. По крайней мере для того, чтобы приступить к созданию первого блока.

Advertisement