Установка программ#
Minecraft написан на языке Java. Программы на этом языке могут выполняться только если у вас установлена виртуальная машина Java.
Java Development Kit#
Для запуска Minecraft необходима лишь среда выполнения Java (JRE).
Но для разработки собственных модов нам потребуется писать программный код и пользоваться разными инструментами. Это не входит в стандартный Java пакет, поэтому нам нужно установить JDK (Набор инструментов разработчика Java).
Minecraft 1.7.10 работает только с Java 8 (1.8). Более новые выпуски Java данной версией игры не поддерживаются.
Скачайте последнюю версию Oracle JDK и следуйте инструкциям по установке. Ничего в настройках установки менять не надо.
- С апреля 2019 г. для скачивания файлов нужна регистрация на сайте. Это бесплатно и подтверждать ничего, кроме E-mail не потребуется.
- С марта 2022 г. скачивание файлов недоступно для пользователей из РФ. Потребуется использовать прокси/VPN. При регистрации следует указывать любую другую страну и использовать иностранный почтовый сервис (напр. GMail, Outlook).
В качестве альтернативы можно использовать JDK от другого производителя, например BellSoft. Здесь не придётся регистрироваться и искать обходные пути. Скачать Liberica JDK
Forge для пользователей#
Чтобы люди смогли играть с вашим модом, на их Minecraft должен быть установлен загрузчик модов MinecraftForge.
Запустите скачанный файл. Выберите пункт «Install client», укажите путь к Minecraft, если он не указан и нажмите «OK».
Forge для разработки#
Forge использует систему сборки проектов Gradle. Задачей систем сборки является автоматизация процессов, чтобы избавить вас от необходимости вводить множество консольных команд вручную. Проще говоря, Gradle делает за вас всю «грязную работу». В случае Minecraft разработки это: компиляция, тестирование, обфускация кода и упаковка всего в JAR-файл.
Скачивание#
Скачайте набор инструментов для разработки модификаций (SRC, для новых версий MDK) с официального сайта Forge:
Создайте в любом удобном для вас месте папку и распакуйте туда скачанный архив. Вы увидите много файлов. Не все из них вам нужны. Чтобы не захламлять рабочее пространство, удалите все файлы, кроме:
- build.gradle – Главный файл конфигурации проекта. Описывает процесс сборки проекта.
- gradlew и gradlew.bat – Скрипты запуска Gradle Wrapper.
- Папка gradle – Здесь располагается Gradle Wrapper.
Предварительная настройка#
В ноябре 2022 г. корпорация Microsoft удалила файлы игры с сервиса Amazon S3 из-за чего старые официальные версии ForgeGradle перестали работать выдавая ошибку: Unexpected reponse 403 from http://s3.amazonaws.com/Minecraft.Download/versions/1.7.10/1.7.10.json
Для разработки будет использоваться неофициальная версия ForgeGradle, где эта проблема была исправлена (файлы игры теперь скачиваются с серверов Microsoft).
Команда MinecraftForge давно прекратила поддержку версии Minecraft 1.7.10. Нам потребуется внести несколько небольших изменений в конфигурационные файлы скачанного проекта, исправляющие проблемы совместимости с актуальными версиями ПО.
Для удобства, список изменений представлен в формате diff. Строки, выделенные красным, следует удалить, а зелёные – добавить. Символы «-» и «+» в начале строк копировать не нужно!
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists - distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip + distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip
buildscript repositories mavenCentral() maven name = "forge" - url = "http://files.minecraftforge.net/maven" + url = "https://maven.minecraftforge.net/" > maven name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" > > dependencies < - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') + changing = true + > > > apply plugin: 'forge' version = "1.0" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "modid" + // Активация поддержки Java 8 (без этой строчки будет использоваться Java 6) + targetCompatibility = sourceCompatibility = JavaVersion.VERSION_1_8 minecraft version = "1.7.10-10.13.4.1614-1.7.10" runDir = "eclipse" > + // Активация поддержки юникода, чтобы не было кракозябр + tasks.withType(JavaCompile) + options.encoding = 'UTF-8' + > // .
Инициализация ForgeGradle#
Теперь мы можем инициализировать среду разработки, чтобы ForgeGradle подготовил необходимые файлы для нас. Для этого выполните приведённую ниже команду в командной строке (терминале). Вариант написания отличается в зависимости от ОС и используемой оболочки.
# Windows (CMD) gradlew setupDecompWorkspace # Windows (PowerShell) .\gradlew setupDecompWorkspace # Linux / MacOS ./gradlew setupDecompWorkspace
Подготовка займёт несколько минут в зависимости от производительности вашего компьютера и скорости интернета. По завершении выполнения вы должны увидеть сообщение «BUILD SUCCESSFUL».
Команду надо выполнять находясь в каталоге проекта, иначе получите ошибку «Неизвестная команда/файл».
В случае ОС Windows, откройте командную строку с помощью Shift + ПКМ в свободной области окна проводника с файлами проекта, выбрав соответствующий пункт меню.
При работе с Gradle из командной строки (терминала) требуется указание пути к JDK с помощью переменной окружения JAVA_HOME. Временно задать путь для текущего сеанса можно одной из следующих команд в зависимости от ОС и оболочки:
# Windows (CMD) SET JAVA_HOME="C:\Program Files\Java\jdk1.8.0_341" # Windows (PowerShell) $env:JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_341" # Linux / MacOS export JAVA_HOME='/usr/lib/jvm/jdk1.8.0_341'
Не забудьте изменить путь к JDK на актуальный. И не закрывайте окно терминала — все остальные команды Gradle нужно вводить в этом же окне.
Настройка среды ForgeGradle производится всего один раз на ПК. Вам не потребуется повторно вводить команду для остальных проектов, разрабатываемых на той же версии Forge и Minecraft (версия указывается в build.gradle в minecraft.version ).
Среда разработки (IDE)#
Моды можно писать и в блокноте, но это очень неудобно. Нам нужна специализированная программа, которая умеет подсвечивать код, выполнять авто-импорт и делать много других полезных вещей.
Наиболее популярными IDE на данный момент являются Eclipse и IntelliJ IDEA.
Eclipse бесплатен. У IDEA есть бесплатная Community версия. Мы рекомендуем использовать IDEA, чтобы избежать большинства проблем при написании модификации. Никаких платных функций в этом учебнике нам не потребуется. Выберите наиболее подходящую для вас IDE, основываясь на характеристиках вашего компьютера.
Создание модификаций с помощью Forge
В этой статье описывается процесс создания модификаций для Minecraft с использованием API Forge и Eclipse. Для создания даже простых модификаций требуется знание основ Java. Если во время создания модификаций возникнут вопросы или проблемы, не описанные здесь, опишите их на странице обсуждения.
Таблица готовности | ||||||
---|---|---|---|---|---|---|
Урок | 1.6+ | 1.7+ | 1.9+ | 1.10+ | 1.12+ | 1.14+ |
Блок | Готов | Готов | Готов | Готов | Готов | Не планируется |
Предмет | Готов | Готов | Готов | Готов | Приостановлено | Не планируется |
Крафт | Готов | Готов | Готов | Готов | Приостановлено | Не планируется |
Компиляция | Готов | Готов | Готов | Готов | Приостановлено | Не планируется |
Генерация | Возможно | Готов | Готов | Не планируется | Приостановлено | Не планируется |
Прокси и инстанция | Не планируется | Готов | Не планируется | Не планируется | Приостановлено | Не планируется |
Моб | Возможно | Готов | Не планируется | Не планируется | Не планируется | Не планируется |
Блоки с моделью | Возможно | Возможно | Не планируется | Не планируется | Приостановлено | Не планируется |
Доп. Уроки | Всего: 3 | Всего: 12 | Всего: 10 | Всего: 0 | Всего:0 | Всего:0 |
Общие сведения [ ]
Для создания модификаций в любом случае нужны JDK и Eclipse. Первая — это комплект разработчика Java и отличается от обычной Java тем, что имеет средства для компиляции/декомпиляции, несколько дополнительных библиотек и документацию. С 2019-го года ввиду изменений в лицензировании для загрузки JDK потребуется учётная запись Oracle. Также важно то, что Minecraft 1.12 не поддерживает Java ниже 7-й и выше 9-й включительно, тогда как 1.14 поддерживает практически все версии Java выше 8-го выпуска. Eclipse — это среда разработки, которая имеет поддержку синтаксиса нужного языка программирования, а также в ней был написан сам Minecraft.