Список уроков.
Урок первый. Знакомство с модом.
Gradle
Что такое Gradle? Это мощная система для создания Java приложений (коим и является Minecraft). Forge использует его для моддинга по многим причинам, вроде выполнения деобфускации и других настроек, необходимых для создания рабочего пространства разработчика.
Перед началом непосредственного написания кода, открываем файл build.gradle в корневой папке нашего проекта:

Версия мода
В первую очередь нам нужно изменить версию нашего мода с version = ‘1.0’ на version = ‘1.15.1-0.1.0’ . Версии в моддинге указывают в формате: ВерсияМайнкрафта-ОсновнаяВерсияМода.ДополнительнаяВерсияМода.ПатчМода . Больше об этом вы можете прочитать на SemVer.
2. Повышайте ДополнительнаяВерсияМода когда делаете обратно-совместимые изменения в моде (добавление предметов или блоков). Сбрасывайте при повышении ОсновнаяВерсияМода
3. Повышайте ПатчМода при внесении мелких обратно-совместимых изменений (вроде факс бага, исправление текстур). Сбрасывайте его значение при любом изменении старших показателей.
4. Разработку начинайте с версии 0.1.0 , а релизная версия должна иметь версию 1.0.0 .
5. НИКОГДА не выпускайте две разные версии мода с одним номером версии.
6. Вы можете добавить дополнительные данные в конец вашей версии, вроде: -pre3 или -alpha2 .

ModID
Далее заменяем значение modid на Mod ID вашего мода. ModID это уникальный идентификатор вашего мода. Он должен быть не менее 8 и не более 64 символов и содержать только буквы нижнего регистра (a-z и 0-9), тире (—) и подчеркивания (_).
Так же нужно изменить группу вашего мода. К примеру, у меня есть вебсайт geekstang.top и я могу указать: group = ‘top.geekstang.astlersGuideMod’ . Если же у вас своего ресурса нет (это может быть github или какой-либо еще), просто пишем: mod.ваше_имя_или_ник_на_англ.ваш_мод_ид .
Вот, что вышло в итоге у меня:

MCP Mappings
Далее давайте обновим MCP Mappings до последнего релиза (желательно стабильного). Это опционально! Впрочем, рекомендуюется имелть как можно более новую версию.
Находим строку:

И заменяем на подходящий с сайта. Просто скопируйте имя/дату релиза и запишите в ваш файл.
Дополнительные правки
Дополнительно нужно добавить следующий блок кода в ваш build.gradle . Этот код гарантирует, что переменные будут правильно вставлены в mods.toml , когда мод будет собран для запуска. Этот файл мы поправим в следующий раз.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Process resources on build processResources { // This will ensure that this task is redone when the versions change. inputs.property 'version', project.version // Replace stuff in mods.toml, nothing else from(sourceSets.main.resources.srcDirs) { include 'META-INF/mods.toml' // Replace version expand 'version':project.version } // Copy everything else except the mods.toml from(sourceSets.main.resources.srcDirs) { exclude 'META-INF/mods.toml' } } |
Перевел и разобрал англоязычный материал Astler. Оригинал: Cadiboo’s Project. Спасибо за внимание!
У меня возникла проблема…
Выбивает данную ошибку :
Execution failed for task ‘:processResources’.
> Could not copy file ‘C:\Users\prosh\Desktop\mod-1\src\main\resources\META-INF\mods.toml’ to ‘C:\Users\prosh\Desktop\mod-1\build\resources\main\META-INF\mods.toml’.
> Missing property (file) for Groovy template expansion. Defined keys [version, out].
Как решить?