Часть 0. Набор для моддинга. Версия Forge 1.16.5 LTS (Long Term Support) (Стабильная версия для моддинга)
https://files.minecraftforge.net/net/minecraftforge/forge/index_1.16.5.html - выбираем 1.16.5, версию справа где написано "Рекомендовано" скачиваем "Mdk" forge-1.16.5-36.2.20-mdk (MOD DEVELOPMENT KIT)
https://adoptium.net/index.html?variant=openjdk8&jvmVariant=hotspot - скачиваем Temurin-11 LTS JDK (JAVA DEVELOPMENT KIT)
https://www.jetbrains.com/idea/download/ - популярный для моддинга IDE (INTEGRAL DEVELOPMENT ENVIRONMENT)
Это руководство основано на видео - Tutorials by kaupenjoe
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Часть 1. установка и настройка
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
В установщике IntelliJ IDEA ставим add bin folder to path / add open as project / .java .groovy .kt ----> см картинки
Устанавливаем JDK 11, в установщике ставим Set JAVA_HOME variable
Создаем - E:\Modding\Minecraft Modding - в папку распакуем архив forge-1.16.5-36.2.20-mdk. удаляем не нужные блокноты LICENSE.txt README.txt changelog.txt.
Запускаем IntelliJ IDEA выбираем открыть проект E:\Modding\Minecraft Modding - папка где лежит наш build.gradle
Ждем пока все загрузится
после того как все загрузится должно быть примерно так
Сразу жмем на шестеренку слева > Tree appearance > снимаем галочки flatten packages + compact middle packages. все настройка завершена.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Часть 2 . создаем супер-мод без знания языка !
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
в окне build.gradle на 15 строчке пишем нашу версию мода
version = '1.0'
version = '1.16.5-0.1'
в окне build.gradle на 16 строчке пишем автора мода и название мода.
(без пробелов, без хитростей и т.д.)
group = 'com.yourname.modid'
group = 'com.observer.supermod'
в окне build.gradle на 17 строчке пишем название мода
archivesBaseName = 'supermod'
а теперь нам надо вызвать заменитель строк CTRL + R. появилось меню с лупой и 2мя строчками, в первую examplemod во вторую supermod
в окне build.gradle на 34 строчке
mappings channel: 'official', version: '1.16.5'
^ эту строчку стираем и вставляем строчку 34 :
mappings channel: 'snapshot', version: '20210309-1.16.5'
все. ничего не закрываем, оставь окно build.gradle.
и переходим по папкам:
src > main > java > com > example > examplemod > ExampleMod
открываем ExampleMod переходим в вкладку ExampleMod.java
в окне ExampleMod.java на 1 строчке пишем
package com.example.examplemod;
package com.observer.supermod;
после этого наша строчка 1 выделится красным, жмем по строчке ПКМ > show context actions > move to package 'com.observer.supermod'
после этого появится наша папка слева,
удали ту папку которая com > example.
переходим по нашим папкам com > observer > supermod > ExampleMod
нажми на ExampleMod и нажми ПКМ > Refactor > Rename и пишем новое название SuperMod.
на 22 строчке видим это
@Mod("examplemod")
сразу переходим на 24 строчку и видим знак {
после знака { жми ENTER
public static final String MOD_ID = "supermod";
^ пишем вот это и после этого можно поменять наш @Mod("examplemod") на 22 строчки вот так как на картинке
если написать @Mod(supermod.MOD_ID) выдаст ошибку потому что название не правильное supermod, а надо точно так же как называется наш файл - SuperMod.
правильно
@Mod(SuperMod.MOD_ID)
неправильно
@Mod("SuperMod".MOD_ID)
неправильно
@Mod("supermod.MOD_ID")
все. ничего не закрываем и теперь переходим в папку resources > META INF > mods.toml открываем его
в окне mods.toml находим строчку 18 и пишем
modId="supermod" #mandatory
в окне mods.toml находим строчку 24 и пишем
displayName="Super Mod" #mandatory
ВСЕ.
Теперь надо сохранить все эти изменение
сначала нажми на маленький призрак по середине, ждем.
заходим в правом верхнем углу призрака с надписем Gradle. открываем Tasks > forgegradle runs > genIntellijRuns. ждем.
3. в самом Gradle открываем Tasks > forgegradle runs > genIntellijRuns. ждем.
После этого переходим в окно SuperMod.java и видим в строчке 54. его надо стереть
LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().options);
^ стираем строчку 54.
Далее
Ищем следующие строчки 61 или 64, найдите вот это:
На этом месте осторожно удаляем и должно быть так:
ВСЕ ! ФУХ.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Часть 3 . Проверяем наш мод
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
теперь мы должны проверить работает ли мод на клиенте и сервере, это можно сделать так:
заходим в правом верхнем углу призрака с надписем Gradle и переходим по Tasks > forgegradle runs > Run Client
RunClient - имитация майнкрафта
RunServer - запуск сервера
если мод запустился без ошибок и на сервере и на клиенте - он готов.
пора выпустить мод - Gradle > Tasks > build > build
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Если дошли до конца - тебе очень повезло, можно начинать изучать JAVA.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Что дальше, как научиться делать свой мод?
Научиться программировать может любой школьник - даже если вам 11 лет и вы двоечник!
Список основных вещей, которые нужно знать перед попыткой моддинга:
Базовое знание Java: переменные, методы, классы (variables, methods, classes... )
Концепции объектно-ориентированного программирования (ООП): extends, implements, polymorphism...
Общие шаблоны программирования: factories, registries, consumers
Основы функционального программирования (FP): lambdas, effective final things...
Понимание основ: уметь читать и писать код, сделанный вами и другими - Основы очистки: умение искать что-то в ванильном коде -
Основы английского: умение читать и понимать, что говорится в руководствах, документации и т. Д.
Финнский курс MOOC по Java - любой сможет научиться - главное мотивация......отличная возможность для всех, кто хочет изучить java https://java-programming.mooc.fi/ <-----
Настройка среды обучение TMC java mooc.
TMCBeans Java MOOC - учитель по кодингу для чайников. В клубе будет все необходимое, помощь, настройка, вопросы, переходим дальше, в раздел (Основная информация)