RingoWay Developer

RingoWay Developer 

Разработчик майнкрафт модов

70subscribers

44posts

goals1
6 of 100 paid subscribers
Лекции по NeoForge 1.21.10

Forge Моддинг 1.20.1 — Лекция 1: Настройка проекта

Привет! В этом посте я расскажу, как запустить проект на Forge в Intellij IDEA. Шаги достаточно просты, и следуя им, вы быстро настроите среду разработки для работы над модами Minecraft.
1. Установка среды разработки
Первым делом нужно скачать и установить IntelliJ IDEA Community Edition. Перейдите по ссылке и выберите версию для своей операционной системы:
Скачать Intellij IDEA
2. Установка JDK
Для работы Forge проекта понадобится JDK (Java Development Kit). Рекомендую использовать JDK 17. Вот ссылка для загрузки:
Скачать JDK 17
3. Загрузка Forge MDK
Теперь нужно скачать Forge MDK. Можете выбрать версию "Latest" или "Recommended", в зависимости от ваших нужд. Я использовал Recommended, проблем не возникло:
Скачать Forge MDK
4. Открытие проекта в Intellij IDEA
Распакуйте архив с Forge MDK в любую удобную папку.
Откройте Intellij IDEA и нажмите File → Open (левый верхний угол). Выберите именно папку распакованного архива.
Теперь переходим непосредственно к настройке проекта!
5. Настройка проекта
После того как вы открыли проект в IntelliJ IDEA, нужно выполнить несколько шагов для корректной настройки.
Если IntelliJ IDEA предложит установить дополнительные плагины (например, для работы с Gradle), примите все предложения и дождитесь завершения установки.
Далее IntelliJ IDEA автоматически распознает ваш проект как Gradle-проект. Однако, если этого не произошло, вам нужно вручную указать Gradle как систему сборки.
Для этого перейдите в File → Settings → Build, Execution, Deployment → Build Tools → Gradle и выберите Use Gradle from: wrapper.
Затем в окне "Gradle" нажмите Refresh для обновления зависимостей.
В любом случае после открытия распакованной папки, должна появится такая панель:
5.1. Настройка файла gradle.properties
Откройте файл gradle.properties, который находится в корне вашего проекта.
Убедитесь, что там указаны корректные версии Minecraft и Forge.
Далее прокрутите вниз до раздела, помеченного как ## Mod Properties (обычно это строка 41). Здесь необходимо указать информацию о вашем моде. Рассмотрим каждый параметр подробнее:
mod_id — это уникальный идентификатор вашего мода. Он должен быть написан в нижнем регистре (без заглавных букв). Если в названии есть пробелы, замените их на знак _.
Например, для мода Rinova я укажу: mod_id=rinova
mod_name — это название вашего мода. Оно отображается в списке модов Minecraft. Например: mod_name=Rinova
mod_version — версия вашего мода. Здесь можно указать любую строку, но лучше придерживаться структуры версий (например, 0.0.1 для начальной разработки или 1.0.0 для первого релиза). Например: mod_version=0.0.1
mod_group_id — это путь к ядру вашего мода, который должен соответствовать реальной структуре папок в вашем проекте. Например, если я укажу: mod_group_id=com.ringo.rinova
То в папке src/main/java у меня должна быть структура папок: com/ringo/rinova:
Почему так?
ringo — мой никнейм, а rinova — идентификатор моего мода (mod_id).  
mod_authors — авторы мода. Укажите здесь ваше имя (и других участников разработки, если они есть). Например: mod_authors=Ringo
mod_description — краткое описание вашего мода. Это то, что будет видно другим пользователям.
По итогу у меня вышло как то так:
5.2 Настройка файла build.gradle (Лекционная часть)
Теперь откроем файл build.gradle, который отвечает за конфигурацию сборки проекта. 
При старте работы над проектом, файл build.gradle может не требовать значительных изменений, так как многие параметры уже подтягиваются из файла gradle.properties. Этот файл является основным местом для задания таких настроек, как версии Minecraft и Forge, а также конфигурации, специфичные для вашего мода.
В файле gradle.properties мы указали важные параметры, которые будут использоваться в процессе сборки проекта, например:
Версия Minecraft (minecraft_version) (уже было указано)
Версия Forge (forge_version) (уже было указано)
ID мода (mod_id)
Название мода (mod_name)
И другие параметры, такие как авторы, описание и версия мода.
Все эти значения автоматически подтянутся в файл build.gradle через переменные, которые мы настроили в gradle.properties.
Пример:
Здесь переменные ${minecraft_version} и ${forge_version} будут заменены на соответствующие значения из gradle.properties. Это упрощает процесс настройки и минимизирует количество ручных изменений в файле build.gradle.
Кстати если вы наведетесь на это поле, зажав ctrl нажмете на него, то вас перекинет в gradle.properties
Или очевидный пример уже с нашим полем:
Дополнительно:
Если вы хотите, чтобы при сборке мода у вас указывалась версия игры. К примеру rinova-1.20.1-0.0.1, то следует поле version переделать в такой вид:
version = "${project.minecraft_version}-${project.mod_version}".
После окончания работы с build.gradle и gradle.properties, нужно чтобы gradle сохранил эти изменения (если что это будет работать только с подобными файлами в будущем). У вас справа сверху появится слоник, на который нужно нажать:
Ошибки, которые могли появится при старте проекта:
Forge Моддинг 1.20.1 — Лекция 1.1: Исправление ошибок старта проекта
5.3 Настройка главного класса мода
Главный класс мода — это центральное место, где будет начинаться выполнение вашего мода. В нем обычно инициализируются все компоненты мода, регистрируются блоки, предметы, события и другие элементы. Давайте рассмотрим, как настроить такой класс для вашего проекта. Находится этот файл по пути на картинке снизу:
Для начала переименуйте файл ExampleMod в соответствие с названием вашего мода, например RinovaMod или просто Rinova. Имейте в виду, что имена классов в Java пишутся в формате CamelCase (каждое новое слово с заглавной буквы). После удалите файл (класс) Config, он нам пока не нужен.
Открываем RinovaMod(ваше название).
Во первых для удобства в будущем (сам так делаю) переименуйте переменную MODID в MOD_ID. Используйте инструмент Refactor (выделите переменную MODID и нажмите Shift + F6), чтобы переименовать ее по всему проекту. И дайте этому поле значение, которое представляет собой айди вашего мода:
После нужно почистить этот файл (класс) от ненужного кода. Удаляем все, кроме того, что осталось на картинке:
Дополнительно:
Если нажать CTRL + ALT + L, то будет "чистый код" - правильно расставятся пробелы, скобки, переменные, удалятся ненужные импорты и т.д.
5.4 Проверим наши изменения и запуск проекта.
Чтобы запустить майнкрафт из проекта, откройте Gradle и обнаружьте runClient, дважды нажмите на него и ждите
Если вы все сделали правильно, то открыв "Моды" в майнкрафте, то обнаружите свой мод со всей информацией
Весь доступный код и изменения находятся по ссылке. Можете сравнить/скопировать и т.д. Я лично убрал так же все комментарии (//text), чтобы не мешало:
https://github.com/ringoway/Rinova/commit/b9e60e3e68590314d6ea77b94c67fa3ad200eb9c
Спасибо за внимание, Ждите следующих лекции!
Следующая лекция:
Forge Моддинг 1.20.1 — Лекция 2: Структура пакетов (папок)
Жаль что большинство лекций платные
Ya Fosfatik, к сожалению я трачу много часов на программирование, тестирование, а потом написание лекции с последовательной и понятной информацией, поэтому, чтобы был хоть какой-то источник дохода, я пишу их платными. Так же Большая часть лекции только Junior уровня
Subscription levels4

🌱Junior Dev

$3.7 per month
Начало пути в моддинге

Включено:
✅ Базовые лекции по моддингу
✅ Шаблоны и примеры кода (Github)
✅ Приватный Telegram-чат "Сообщество мододелов"
✅ Роль "🌱Junior Dev" в Discord
+ chat

🛠️Middle Dev

$5.4 per month
Практикующий моддер

Включено:
✅ Всё из уровня «Junior Dev»
✅ Продвинутые лекции по моддингу
✅ Роль "🛠️Middle Dev" в Discord
+ chat

🎓Senior Dev

$7.7 per month
Опытный разработчик

Включено:
✅ Всё из уровня «Middle Dev»
✅ Большая благодарность!
✅ В будущем будут расширенные лекции 
✅ Роль "🎓Senior Dev" в Discord
+ chat

🎓Architect Dev

$13.4 per month
Опытный разработчик

Включено:
✅ Всё из уровня «Senior Dev»
✅ Огромная благодарность!
✅ В будущем будут расширенные лекции 
✅ Роль "🎓Architect Dev" в Discord
+ chat
Go up