The Rings of Power - простенький мод, который добавляет 20 колец власти в Minecraft. Кольца имеют эффекты на нахождение в инвентаре и клик ПКМ. Мод рассматривается как тематические дополнение к моду "Властелин колец", хотя мод независим и не требует установки каких-либо других модов.
Этот репозиторий обладает сложной иерархией. Он содержит:
- Актуальный проект, состоящий из 3 модулей (appForge, appFabric и appNeoForge). В этом случае папкой проекта является весь репозиторий целиком.
- Архивный проект Forge, состоящий из 14 модулей (1.3.2 - 1.20.6). В этом случае папкой проекта является папка appForgeArchive.
- Архивный проект Fabric, состоящий из 7 модулей (1.14.4 - 1.20.6). В этом случае папкой проекта является папка appFabricArchive.
- Архивный проект NeoForge, состоящий из 1 модуля (1.20.6). В этом случае папкой проекта является папка appNeoForgeArchive.
Так было сделано для более гибкой и легковесной работы без необходимости прогружать всё сразу.
Версия Minecraft | Плагин сборки | JDK | Syntax |
---|---|---|---|
1.3.2 - 1.6.4 | Voldeloom | 11 | 6 |
1.7.10 | RetroFuturaGradle | 8 | 8 |
1.8.9 - 1.12.2 | Essential Loom | 8 | 8 |
1.13.2 - 1.16.5 | ForgeGradle 6.X; FabricLoom | 8 | 8 |
1.17.1 | ForgeGradle 6.X; FabricLoom | 16 | 16 |
1.18.2 - 1.19.4 | ForgeGradle 6.X; FabricLoom | 17 | 17 |
1.20.6 и новее | ForgeGradle 6.X; FabricLoom; NeoGradle | 21 | 21 |
- Плагин сборки - инструментарий, который используется для работы с определённой версией игры. Принципы работы везде похожи, но отличия имеются. Об этом подробнее будет сказано ниже.
- JDK - это Java, которая нужна для работы с модом на этой версии игры: ею запускается игра, ею компилируется код. Она зависит от Mojang и менять её нельзя.
- Syntax - синтаксис Java, используемый в файлах с кодом. Программист не должен использовать синтаксис более новой версии, чем указан в таблице. Более старый - можно, но зачем?
Очевидно, что JDK и Syntax почти всегда совпадают, кроме версий с плагином Voldeloom. JDK 6 слишком стара для удобной работы с ней в 2024 году, поэтому Voldeloom использует JDK 11 с компиляцией в байткод 6.
Important
Раздел написан для новичков - пошагово и с расчётом на то, что на компьютере ничего не настроено и не установлено.
Первым делом нужно скачать репозиторий и разархивировать его в любое место на диске. Если всё сделано правильно, вы
должны увидеть несколько папок: appForge
, appFabric
и так далее.
У вас на компьютере уже могут находиться установленные JRE или JDK, но мы будем исходить из худшего и скачаем новые.
- Запустите IntelliJ IDEA.
- Нажмите сочетание клавиш
Ctrl + Alt + Shift + S
. - В открывшемся окне в списке параметров слева нажмите
SDKs
. Сверху нажмите+
,Download JDK
. - В открывшемся окне выберите вендора
Eclipse Temurin
, а версию21
. НажмитеDownload
.`
Версия 21
выбрана неслучайно — на момент 2024 года это самая новая из LTS-версий Java. В долгосрочной перспективе её
брать лучше всего.
Если всё сделано правильно, то вы должны увидеть скачанную JDK в папке пользователя. В моём случае,
это C:\Users\Hummel009\.jdks
.
У вас на компьютере уже могут быть сконфигурированы другие JRE и JDK. Чтобы не было конфликтов, мы удалим все старые настройки и поставим новые.
- Нажмите
Win + R
и введитеsystempropertiesadvanced
. НажмитеOK
. - В открывшемся окне нажмите
Переменные среды
. - В открывшемся окне вы увидите два раздела - переменные среды для пользователя и для системы.
- Проверьте оба раздела на наличие там переменной с названием
JAVA_HOME
.- Если она есть, дважды кликните по ней ЛКМ и введите в значение путь к скачанной ранее JDK. В моём случае,
это
C:\Users\Hummel009\.jdks\temurin-21
. - Если её нет, создайте там переменную с таким именем и введите значение, как в пункте выше.
- Если их несколько, удалите все, кроме одной, а оставшуюся настройте, как в пункте выше.
- Если она есть, дважды кликните по ней ЛКМ и введите в значение путь к скачанной ранее JDK. В моём случае,
это
- Проверьте оба раздела на наличие там переменной с названием
Path
. Она есть у каждого пользователя и представляет собой таблицу из путей.- Проверьте все пути в обеих переменных
Path
и удалите все строчки с упоминаниемJava
,Oracle
,jre
,jdk
. - Только в одной из двух переменных
Path
создайте новую строку и введите в неё%JAVA_HOME%\bin
.
- Проверьте все пути в обеих переменных
- Проверьте оба раздела на наличие там переменной с названием
Note
После настройки сред иногда требуется перезагрузка компьютера, а иногда нет.
Попробуйте в любом месте компьютера открыть консоль Windows и введите команду java -version
. Если всё сделано
правильно, то консоль выдаст что-то такое:
openjdk version "21.0.1" 2023-10-17
OpenJDK Runtime Environment Temurin-21.0.1+9 (build 21.0.1+9)
OpenJDK 64-Bit Server VM Temurin-21.0.1+9 (build 21.0.1+9, mixed mode, sharing)
Если же что-то пошло не так, попробуйте утилиту JarFix, она работает в один клик. Если и она не помогает, то вас спасёт только чистка реестра Windows. Но это для действительно тяжёлых случаев и вообще не рекомендуется новичкам.
Будем считать, что установка прошла успешно, и можно приступать к, собственно, работе с проектом. Но для начала определимся, какой из проектов нас интересует.
Как уже было сказано ранее, весь репозиторий
- это один проект; appFabricArchive
- второй проект;
appForgeArchive
- третий проект; appNeoForgeArchive
- четвёртый проект;
Итак, в сумме мы насчитали четыре проекта. Любой из них можно отдельно открыть в IntelliJ IDEA. Собственно, в зависимости от того, какой проект вы откроете, вы сможете редактировать ту или иную версию мода.
- Если вас интересует разработка под новейшую версию, не важно, Fabric, Forge или NeoForge, ваша цель - весь репозиторий.
- Если вас интересует разработка под более старые версии на Fabric, ваша цель -
appFabricArchive
. - Если вас интересует разработка под более старые версии на Forge, ваша цель -
appForgeArchive
. - Если вас интересует разработка под более старые версии на NeoForge, ваша цель -
appNeoForgeArchive
.
Ещё раз, в виде образца рассуждений:
- Я хочу отредактировать мод для новейшей версии. Значит, папка проекта - весь репозиторий.
- Я хочу отредактировать мод для Forge 1.3.2. Эта версия лежит в
appForgeArchive
. Значит, папка проекта -appForgeArchive
. - Я хочу отредактировать мод для Fabric 1.19.4. Эта версия лежит в
appFabricArchive
. Значит, папка проекта -appFabricArchive
.
Теперь, когда вы знаете, какая папка проекта вас интересует, осталось определить, какой плагин сборки используется для выбранной версии игры. Дальше в инструкции будет фигурировать понятие папки проекта или просто папки - это и будет та самая папка, которую вы определили в абзаце выше.
Остался финальный штрих - открыть выбранную папку в среде разработки так, чтобы она сама установила всё необходимое и была готова к работе.
- Запустите IntelliJ IDEA.
- Откройте папку проекта:
File -> Open -> [выбираете папку] -> OK
.
Сразу после открытия начнётся установка среды. Если от вас потребуется разрешение на скачивание файлов, дайте его. Спустя некоторое время все необходимые файлы скачаются, и среда будет готова к работе. Процесс может быть долгим, вплоть до нескольких часов, если интернет медленный. Скачаны будут гигабайты и гигабайты инструментов — не забывайте об этом, если у вас ограниченный трафик. Школьный/университетский Wi-Fi лучше не использовать, так как там зачастую сайты, связанные с Minecraft, находятся в чёрном списке.
В конечном итоге, если всё сделано правильно, то вы увидите проект без сообщений об ошибке и с подсветкой синтаксиса в файлах с кодом.
Если же что-то пошло не так (например, пропадал интернет, или ещё что-то помешало), запустите установку ещё раз. Это
можно сделать в меню Gradle внутри IntelliJ IDEA: View -> Tool Windows -> Gradle
. Там сверху слева вы увидите значок
обновления (стрелка по кругу). Альтернативный вариант — удалить репозиторий, скачать его снова и открыть снова. Не
пугайтесь: всё, что успешно скачалось, снова скачиваться не будет. «Прогресс» не сбросится.
После установки среды весь необходимый инструментарий готов к работе. Инструментарий может немного отличаться в зависимости от того, какой плагин сборки использует данная версия. Согласно таблице из первого раздела, это может быть Voldeloom, RetroFuturaGradle, Essential Loom, ForgeGradle 6.X.
Большая часть функционала располагается в меню Gradle. Меню, как уже было сказано ранее, можно открыть следующим
образом: View -> Tool Windows -> Gradle
.
Современный плагин для моддинга под Forge на очень старых версиях Minecraft. Самые важные функции:
- Запуск клиента из среды:
Меню Gradle -> Tasks -> volde.run -> runClient
. - Запуск локального сервера из среды:
Меню Gradle -> Tasks -> modded minecraft -> runServer
. К нему можно подключиться из клиента, введя в качестве адресаlocalhost
.- Если подключиться не получилось, проверьте, чтобы сервер работал не в защищённом режиме. Для этого в папке
папка_проекта/run/server/server.properties
найдите строчкуonline-mode
и укажите ему значениеfalse
. - Сервер для версий 1.5.2 и 1.6.4 не работает. Это проблема Voldeloom.
- Если подключиться не получилось, проверьте, чтобы сервер работал не в защищённом режиме. Для этого в папке
- Компиляция мода в файл с расширением
.jar
:Меню Gradle -> Tasks -> build -> build
. После компиляции ваш мод появится в папкепапка_проекта/build/libs
. Вас интересует тот файл, который без приписки-dev.jar
.
Современный плагин для моддинга под Forge на популярнейших из относительно старых версий Minecraft. Самые важные функции:
- Генерация исходного кода Minecraft:
Меню Gradle -> Tasks -> modded minecraft -> setupDecompWorkspace
. Эта функция исправляет проблему, из-за которой весь ваш код горит красным цветом после установки среды. - Запуск клиента из среды:
Меню Gradle -> Tasks -> modded minecraft -> runClient
. - Запуск локального сервера из среды:
Меню Gradle -> Tasks -> modded minecraft -> runServer
. К нему можно подключиться из клиента, введя в качестве адресаlocalhost
.- При запуске сервера в консоли будет дважды требоваться ввод согласия или несогласия с параметрами.
Do you want to start the server in online-mode? Type 'y' to do so
- введитеn
.Do you accept the minecraft EULA? Type 'y' to do so
- введитеy
.
- При запуске сервера в консоли будет дважды требоваться ввод согласия или несогласия с параметрами.
- Компиляция мода в файл с расширением .jar:
Меню Gradle -> Tasks -> build -> build
. После компиляции ваш мод появится в папкепапка_проекта/build/libs
. Вас интересует тот файл, который без приписки-dev.jar
.
Современный плагин для моддинга под Forge на относительно старых версиях Minecraft. Самые важные функции:
- Запуск клиента из среды здесь осуществляется кнопкой с зелёным треугольником в верхней части окна.
- Запуск локального сервера из среды тоже осуществляется кнопкой с зелёным треугольником в верхней части окна. К нему
можно подключиться из клиента, введя в качестве адреса
localhost
.- Если подключиться не получилось, проверьте, чтобы сервер работал не в защищённом режиме. Для этого в папке
папка_проекта/run/server.properties
найдите строчкуonline-mode
и укажите ему значениеfalse
.
- Если подключиться не получилось, проверьте, чтобы сервер работал не в защищённом режиме. Для этого в папке
- Компиляция мода в файл с расширением
.jar
осуществляется в папке проекта посредством двойного нажатия ЛКМ на файлbuild.bat
. После компиляции ваш мод появится в папкепапка_проекта/build/libs
.
Новейший плагин для моддинга под Forge на новых версиях Minecraft. Самые важные функции:
- Запуск клиента из среды:
Меню Gradle -> Tasks -> forgegradle runs -> runClient
. - Запуск локального сервера из среды:
Меню Gradle -> Tasks -> forgegradle runs -> runServer
. К нему можно подключиться из клиента, введя в качестве адресаlocalhost
.- Первый запуск сервера будет неудачным, потому что не подписано соглашение EULA. После неудачного запуска откройте
папку
папка_проекта/runs/server/eula.txt
и заменитеfalse
наtrue
. - Если подключиться не получилось, проверьте, чтобы сервер работал не в защищённом режиме. Для этого в папке
папка_проекта/runs/server/server.properties
найдите строчкуonline-mode
и укажите ему значениеfalse
.
- Первый запуск сервера будет неудачным, потому что не подписано соглашение EULA. После неудачного запуска откройте
папку
- Компиляция мода в файл с расширением .jar:
Меню Gradle -> Tasks -> build -> build
. После компиляции ваш мод появится в папкепапка_проекта/build/libs
.
Новейший плагин для моддинга под NeoForge на новых версиях Minecraft. Самые важные функции:
- Запуск клиента из среды:
Меню Gradle -> Tasks -> neogradle/runs -> runClient
. - Запуск локального сервера из среды:
Меню Gradle -> Tasks -> neogradle/runs -> runServer
. К нему можно подключиться из клиента, введя в качестве адресаlocalhost
.- Первый запуск сервера будет неудачным, потому что не подписано соглашение EULA. После неудачного запуска откройте
папку
папка_проекта/runs/server/eula.txt
и заменитеfalse
наtrue
. - Если подключиться не получилось, проверьте, чтобы сервер работал не в защищённом режиме. Для этого в папке
папка_проекта/runs/server/server.properties
найдите строчкуonline-mode
и укажите ему значениеfalse
.
- Первый запуск сервера будет неудачным, потому что не подписано соглашение EULA. После неудачного запуска откройте
папку
- Компиляция мода в файл с расширением .jar:
Меню Gradle -> Tasks -> build -> build
. После компиляции ваш мод появится в папкепапка_проекта/build/libs
.
Новейший плагин для моддинга под Fabric на новых версиях Minecraft. Самые важные функции:
- Запуск клиента из среды:
Меню Gradle -> Tasks -> fabric -> runClient
. - Запуск локального сервера из среды:
Меню Gradle -> Tasks -> fabric -> runServer
. К нему можно подключиться из клиента, введя в качестве адресаlocalhost
.- Первый запуск сервера будет неудачным, потому что не подписано соглашение EULA. После неудачного запуска откройте
папку
папка_проекта/run/eula.txt
и заменитеfalse
наtrue
. - Если подключиться не получилось, проверьте, чтобы сервер работал не в защищённом режиме. Для этого в папке
папка_проекта/run/server.properties
найдите строчкуonline-mode
и укажите ему значениеfalse
.
- Первый запуск сервера будет неудачным, потому что не подписано соглашение EULA. После неудачного запуска откройте
папку
- Компиляция мода в файл с расширением .jar:
Меню Gradle -> Tasks -> build -> build
. После компиляции ваш мод появится в папкепапка_проекта/build/libs
.