Minecraft Wiki
Advertisement

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

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

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

Forge[]

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

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

С 15 января 2020 года Maven больше не поддерживает протокол HTTP и требует использовать HTTPS. А с 4 ноября 2022 года сайт Amazon S3 удалил файлы версии 1.7.10, что сделало невозможным их скачивание. Поэтому для создания модификаций под версию 1.7.10 необходимо внести несколько коррекций в файлы скачанного архива.

Сначала в файле gradle/wrapper/gradle-wrapper.properties нужно изменить значение параметра distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Затем в файле build.gradle нужно заменить содержимое тега buildscript{} следующим образом:

buildscript {
	repositories {
		mavenCentral()
        maven {
            name = "github"
            url = "https://github.com/juanmuscaria/maven/raw/master"
        }
	}
	dependencies {
		classpath 'net.minecraftforge.gradle:ForgeGradle:[1.2-1.4.6-SNAPSHOT,)'
	}
}

Проделанные шаги заменяют ссылки на их рабочие варианты.

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

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

Помните, что JDK включает в себя JRE, так что вы можете удалить отдельную JRE с компьютера.

При первой установке JDK откройте ⊞ Win + PauseBreak->Дополнительные параметры->Переменные среды и проверьте содержимое. Там должны существовать две переменные (если их нет, то их нужно создать вручную):

  • JAVA_HOME: «C:\Program Files\Java\jdk1.8.0_241» (по умолчанию; у вас может быть другая версия jdk или путь установки)
  • Path: «C:\Program Files\Java\jdk1.8.0_241\bin» (по умолчанию; у вас может быть другая версия jdk или путь установки)

После создания/обновления переменных сред необходимо перезагрузить компьютер, чтобы изменения вступили в силу.

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

gradlew.bat setupDecompWorkspace eclipse

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

Также имеются команды без возможности просмотра исходного кода Minecraft во время разработки:

  • gradlew.bat setupDevWorkspace eclipse
  • gradlew.bat genEclipseRuns eclipse

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

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

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

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

Команда setupDecompWorkspace eclipse

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

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

  • Проверьте ещё раз ваши переменные среды, JAVA_HOME и Path. Их пути должны вести в существующие папки с установленным JDK.
  • Введите команду set JAVA_HOME="Тут нужно вставить адрес папки с JDK без кавычек"
  • Включите VPN, так как в редких случаях ссылки, необходимые скрипту, могут быть недоступны.
  • После любых изменений, связанными с переменными средами, перезагружайте компьютер.

Настройка Eclipse[]

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

Eclipse после установки

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

Затем вы должны убедиться, что Eclipse использует правильную версию JDK для работы с исходниками. Откройте в меню сверху Window->Preferences->Java->Installed JREs. Перед вами откроется список установленных сред Java. Обычно там помечена галочкой встроенная в Eclipse версия JDK, которая слишком новая и не подходит для разработки. Чтобы исправить это, нажмите на версию, справа нажмите кнопку «Remove», а затем кнопку «Add». В открывшемся диалоге выберите «Standart VM» и укажите путь к той папке, куда у вас в системе установлена JDK 1.8 (вы этот путь уже находили при настройке переменных сред). После этого подтвердите добавление виртуальной машины и пометьте её галочкой, сохранив изменения.

Installed JREs после настройки

Installed JREs после правильной настройки.

После всех действий остаётся настроить Compliance. По умолчанию значение Compliance равняется 1.6 и не будет препятствовать работе. Однако, если вы попробуете открыть код, использующий нововведения Compliance 1.7-1.8, то некоторые фрагменты кода будут подчёркнуты как ошибки, несмотря на то, что код там правильный. Чтобы исправить это, откройте в меню сверху Window->Preferences->Java->Compiler и выберите там Compliance 1.8. Ошибки, связанные с нераспознанными новыми возможностями языка Java, исчезнут.

Compliance после настройки

Compliance после правильной настройки.

Для того, чтобы осуществлять сборку проекта с изменённым Compilance, отредактируйте в файле build.gradle содержимое тега minecraft{} следующим образом:

minecraft {
    version = "1.7.10-10.13.4.1614-1.7.10"
    runDir = "eclipse"
	srcCompat = JavaVersion.VERSION_1_8
    targetCompat = JavaVersion.VERSION_1_8
}

Здесь добавились две строчки, обеспечивающие поддержку новых возможностей Java.

Настройка IntelliJ IDEA[]

Если вместо Eclipse Вы решили использовать IntelliJ IDEA, то после того как вы установите ее, в стартовом окне в правом нижнем углу нажмите на кнопку «Configure», откройте вкладку «Project Defaults» и выберите пункт «Project Structure» или в главном меню нажмите комбинацию клавиш (Ctrl+Alt+Shift+S).

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

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

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

IntelliJ IDEA

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

Первый способ:[]

После того, как 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, нужно обновить ее на более новую. Для этого запустите консоль с директорией к папке с Forge (щелкните ⇧ Shift + ПКМ по папке с Forge > Открыть консоль команд) и выполните следующую команду:

  • 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. Теперь вы можете запустить клиент или сервер и удостовериться, что все работает.

Run config

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

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

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

  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. При первом выполнении лог может быть длиннее.
Advertisement