Создание модификаций с помощью Forge/1.7+

Материал из Minecraft Wiki
Перейти к: навигация, поиск

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

Подготовка среды и настройка[править | править код]

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

Forge[править | править код]

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

Распакованное содержание Forge.png

С 15 января 2020 года Maven больше не поддерживает протокол HTTP и требует использовать HTTPS, поэтому для создание модификаций под версию 1.7.10 необходимо в файле gradle/wrapper/gradle-wrapper.properties изменить значение параметра distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-bin.zip

Среда разработки[править | править код]

Теперь нам нужно установить Forge, который при установке также произведёт декомпиляцию и деобфускацию кода Minecraft, чтобы сразу можно было начать создание модификации. Для этого необходимо установить Java Development Kit (JDK), скачав с официального сайта Oracle. При этом JDK должен быть одной версии с Java(JRE)

При первой установке JDK проверьте, чтобы у вас в ⊞ Win+PauseBreak->Дополнительные параметры->Переменные среды: в JAVA_HOME указан путь к папке c Java (по-умолчанию: «C:\Program Files\Java\jre1.8.0_241») и в Path был указан путь к bin-папке JDK после точки с запятой (по-умолчанию: «C:\Program Files\Java\jdk1.8.0_241\bin»).

Затем необходимо выполнить одну из следующих команд (замените eclipse на idea, если вы используете IntelliJ IDEA):

  • gradlew.bat setupDecompWorkspace eclipse или
  • gradlew.bat setupDevWorkspace eclipse
  • gradlew.bat genEclipseRuns eclipse

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

Если вы являетесь пользователем операционной системы Linux, нужно прописать следующие строки в терминале:

  • cd <путь>/<папка с Forge> и
  • ./gradlew setupDecompWorkspace eclipse --refresh-dependencies

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

Выполнение команды займёт какое-то время, после чего должно появиться сообщение рода Build Successful.

Пример результата выполнения команды:[1]
gradlew.bat setupDecompWorkspace eclipse

Если же появляется какая-либо ошибка:

  • Проверьте, чтобы у вас в ⊞ Win+PauseBreak->Дополнительные параметры->Переменные среды: в JAVA_HOME указан путь к папке c Java (по-умолчанию: «C:\Program Files\Java\jre1.8.0_241») и в Path был указан путь к bin-папке JDK после точки с запятой(если в конце списка) (по-умолчанию: «C:\Program Files\Java\jdk1.8.0_241\bin»).
  • Введите команду set JAVA_HOME="Тут нужно вставить адрес папки с JDK без кавычек"
  • Включите VPN, так как в редких случаях ссылки, необходимые скрипту, могут быть недоступны.
  • Установите Java другой версии, не удаляя предыдущую.
  • Смените в файле gradle/wrapper/gradle-wrapper.properties параметр distributionUrl на https://services.gradle.org/distributions/gradle-2.6-bin.zip и удалите папку .gradle в директории пользователя (ошибка Received status code 501 from server: HTTPS Required и ошибки связанные с apply plugin: 'forge').

Настройка Eclipse[править | править код]

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

Интерфейс Eclipse после правильной установки.

Настройка IntelliJ IDEA[править | править код]

Если вместо Eclipse Вы решили использовать IntelliJ IDEA, то после того как вы установите ее, в стартовом окне в правом нижнем углу нажмите на кнопку "Configure", откройте вкладку "Project Defaults" и выберите пункт "Project Structure".

Стартовая страница IntelliJ IDEA

В открывшемся окне нажмите на красную надпись "No SDK", для контекстного меню и выберите пункт с вашей версией JDK. (Если же в меню нет вашей версии JDK нажмите "Add SDK" и укажите путь. В нашем случае это C:\Program Files\Java\jdk1.8.0_241 )

IntelliJ IDEA .png

После этого можно воспользоваться двумя способами:

Первый способ:[править | править код]

После того, как Forge скомпилирован и установлен, необходимо запустить IDEA, и в появившемся окне нажать 'Import Project'. После чего выбираем в папке «D:\MCModding» файл build.gradle. В появившемся окне Вам предложат выбрать способ компиляции (рекомендуется оставить значение Use default gradle wrapper.) В строчке ниже выберите Ваш JAVA_HOME. В пункте «Формат проекта» нужно обязательно выбрать «.ipr (file based)». В противном случае, придётся подключать все библиотеки и настраивать запуск самостоятельно. После всего этого нажмите OK. Ждите, пока сборка скомпилируется.

В случае, если ваша IntelliJ IDEA установлена правильно и она различает формат *.ipr, вы можете просто дважды нажать по файлу <НазваниеПроекта>.ipr в директории вашего MCP. IDEA все сделает за вас.

Второй способ:[править | править код]

После того, как вы распаковали файлы в «D:\MCModding», сразу запускайте IntelliJ IDEA. В появившемся окне нажать 'Import Project'. После чего выбираем в папке «D:\MCModding» файл build.gradle.

Если IDEA указывает на старую версию Gradle, нужно обновить ее на более новую. Для этого запустите консоль и выполните следующую команду:

  • gradlew.bat wrapper --gradle-version <Нужная версия>

Список всех версий можно посмотреть на официальном сайте

Потребуется подождать пару минут, пока среда разработки полностью все выполнит и импортирует. После завершения процесса откройте меню "View" в верхней части экрана и выберите пункты "Tools Windows > Gradle". У вас откроется окно с Gradle задачами. Переходим в раздел Tasks > forgegradle.

Окно с Gradle задачами
Окно Gradle

Выполните task setupDecompWorkspace. После его выполнения запустите genIntellijRuns

Готово. Мы проделали все то же самое, что и в первом способе, только без использования консоли, а это может быть большим плюсом для новичков.

Запуск[править | править код]

После выполнения выше перечисленных действий, в верхней части экрана перейдите в раздел "Run" и выберите пункт "Run configurations". По очереди выберите "Minecraft Client" и "Minecraft Server" и уже в правой части окна, в раскрывающемся списке "Use classpath of module" выберите тот пункт, который заканчивается на _main. Теперь вы можете запустить клиент или сервер и удостовериться, что все работает.

Настройка запуска

Поздравляем! Вы успешно настроили среду для того, чтобы начать писать модификации при помощи нее.

Основные уроки[править | править код]

  1. Директория Eclipse (Установка среды)
  2. Главный класс
  3. Блок
  4. Предмет
  5. Крафт
  6. Компиляция
  7. Генерация
  8. Прокси и инстанция
  9. Моб

Дополнительные уроки[править | править код]

  1. Локализация названий в игре
  2. Дроп определённого предмета при разрушении блока
  3. Разносторонняя текстура блока
  4. Собственная вкладка в Творческом режиме
  5. Обновление Forge
  6. Обновление ForgeGradle
  7. Свой материал для инструмента
  8. Создание брони
  9. Свой материал для брони
  10. Генерация предметов в контейнерах натуральных структур
  11. Атрибуты для моба
  12. Интеллект для моба
  13. Свой скин при моддинге

Примечания[править | править код]

  1. При первом выполнении лог может быть длиннее.