Бесплатно Forge 1.20.1

Лекция 2: Исправление ошибок старта проекта

Красные импорты, Plugin not found, недоступные зависимости, Gradle 9.0, невалидный mod_id

Здесь собраны ошибки, с которыми сталкиваются при настройке Forge-проекта. Если у вас всё работает — пропускайте. Вернётесь сюда, когда что-то сломается. Список пополняется.


Проблема 1: Классы и импорты подсвечены красным

IDEA подчёркивает импорты красным, код не компилируется.

Красные импорты в IDEA

Решение

  1. Нажмите Gradle Sync (слоник в правом верхнем углу). Часто забывают синхронизировать после правок в gradle.properties

  2. Если не помогло — Build → Clean Project

Clean Project

  1. Затем Build → Rebuild Project (Ctrl + Shift + F9)

Build Project

  1. Если пункт 3 не помог — дополнительно нажмите Build → Build Dependents

Build Dependents

Если всё ещё красное

Выполните строго по порядку:

  1. Закройте проект
  2. Удалите папки .idea и .gradle (с точкой!) в корне проекта
  3. Удалите кэш Gradle (см. Полная очистка кэша)
  4. Откройте проект заново через File → Open

Важно: НЕ удаляйте папку gradle (без точки) — в ней лежит gradle-wrapper.properties, который указывает на нужную версию Gradle. Если удалите, IDEA скачает последнюю версию (9.x), а ForgeGradle с ней несовместим. Подробнее — в Проблеме 4.


Проблема 2: Plugin not found

Ошибки вида:

Plugin [id: 'net.minecraftforge.gradle', version: '8.8'] was not found in any of the following sources

или

Plugin [id: 'net.minecraftforge.gradle', version: '[6.0,6.2)'] was not found in any of the following sources

Решение (несколько способов)

Способ 1. Добавить репозиторий Forge в build.gradle

Вставьте в build.gradle:

repositories {
    maven { url = "https://maven.minecraftforge.net" }
    mavenCentral()
}

Способ 2. Удалить кэш проекта

Удалите в корне проекта:

.idea
.gradle

Ещё раз: удаляем .idea и .gradle (с точкой). Папку gradle (без точки) — не трогаем.

Способ 3. Очистить и обновить зависимости через терминал

Откройте вкладку Terminal в IntelliJ IDEA и выполните:

./gradlew clean --refresh-dependencies

После этого попробуйте снова запустить runClient.

Если способы 1–3 не помогли

Выполните действия строго в таком порядке:

  1. Способ 2 (удалить .idea и .gradle)
  2. Полная очистка кэша (см. ниже)
  3. Способ 3 (clean --refresh-dependencies)

Полная очистка кэша Gradle

Удалите следующие папки на вашем компьютере:

C:\Users\<ваш_пользователь>\.gradle\caches
C:\Users\<ваш_пользователь>\.gradle\wrapper\dists

Или через терминал:

rmdir /s /q "C:\Users\<ваш_пользователь>\.gradle\caches"
rmdir /s /q "C:\Users\<ваш_пользователь>\.gradle\wrapper\dists"

Для очистки только кэша Forge:

rmdir /s /q "C:\Users\<ваш_пользователь>\.gradle\caches\forge_gradle"

Проблема 3: Зависимости не скачиваются

Gradle зависает или падает с таймаутом при скачивании. В логах может быть:

Failed to find system mod: minecraft

Значит зависимости Minecraft не скачались.

Почему так

Gradle скачивает зависимости с внешних Maven-репозиториев. Иногда доступ к ним ограничен на уровне сети — из-за настроек провайдера, корпоративного файрвола или DNS.

Как проверить

Откройте https://maven.minecraftforge.net в браузере. Не грузится? Значит проблема в сети.

Решение

Для сборки Forge-проекта Gradle нужен доступ к доменам ниже. Если они недоступны — спросите в Telegram-чате, поможем разобраться.

Minecraft и Mojang:

files.minecraftforge.net
maven.minecraftforge.net
libraries.minecraft.net
piston-meta.mojang.com
piston-data.mojang.com
launchermeta.mojang.com
resources.download.minecraft.net
sessionserver.mojang.com
maven.neoforged.net
maven.fabricmc.net
maven.parchmentmc.org
repo.spongepowered.org
maven.architectury.dev
maven.quiltmc.org

Gradle и Maven Central:

plugins.gradle.org
plugins-artifacts.gradle.org
services.gradle.org
downloads.gradle-dn.com
gradle.org
docs.gradle.org
repo.maven.apache.org
repo1.maven.org
central.sonatype.dev
s01.oss.sonatype.org
oss.sonatype.org
jcenter.bintray.com
maven.google.com

GitHub (нужен для некоторых зависимостей):

github.com
api.github.com
objects.githubusercontent.com
raw.githubusercontent.com
codeload.github.com
maven.pkg.github.com

JDK (скачивание Java):

api.adoptium.net
api.foojay.io
cdn.azul.com

Скачивание модов:

modrinth.com
api.modrinth.com
cdn.modrinth.com
curseforge.com
legacy.curseforge.com
authors.curseforge.com
edge.forgecdn.net
mediafilez.forgecdn.net
forgecdn.net

Maven-репозитории популярных модов:

dvs1.progwml6.com
maven.blamejared.com
modmaven.dev
jitpack.io
cursemaven.com
www.cursemaven.com
maven.shedaniel.me
maven.createmod.net
maven.tterrag.com
dl.cloudsmith.io
mvn.devos.one
maven.kosmx.dev
maven.su5ed.dev
maven.shadowsoffire.dev
maven.theillusivec4.top
maven.jamieswhiteshirt.com
maven.moddingx.org

Если в вашем проекте есть зависимости, которых нет в списке — откройте build.gradle, найдите блок repositories и возьмите домены оттуда.

Зависимости достаточно скачать один раз — Gradle закэширует их, и при создании нового мод-проекта они уже будут на диске.

После настройки доступа выполните в терминале:

./gradlew clean --refresh-dependencies

Проблема 4: Gradle 9.0 — ForgeGradle несовместимость

При запуске runClient ошибка вида:

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0

Или проект собирается (BUILD SUCCESSFUL), но Minecraft крашится при запуске.

Почему так

ForgeGradle 6.x работает только с Gradle 8.8 (максимум). Если вы удалили папку gradle/wrapper при очистке проекта, IDEA при следующем открытии скачает Gradle 9.x, а ForgeGradle с ним не работает.

Как проверить

Откройте файл gradle/wrapper/gradle-wrapper.properties в проекте. Посмотрите строку distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip

Если там версия 9.0 или выше — это ваша проблема.

Решение

  1. Если папка gradle/wrapper была удалена — восстановите её из оригинального MDK-архива (который вы скачивали при настройке проекта)

  2. Или создайте файл gradle/wrapper/gradle-wrapper.properties вручную с содержимым:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
  1. После этого в терминале:
./gradlew clean --refresh-dependencies
  1. Перезапустите IntelliJ IDEA и попробуйте runClient снова.

Запомните: при очистке проекта удаляйте .idea и .gradle (с точкой), но никогда не удаляйте папку gradle (без точки).


Проблема 5: Предупреждения при сборке (warnings)

При запуске Build появляются жёлтые предупреждения, например:

warning: [removal] ResourceLocation(String) in ResourceLocation has been deprecated and marked for removal

Это нормально?

Да. Warnings — не ошибки. Проект с ними собирается и работает. Warning просто говорит, что метод устарел и когда-нибудь его уберут. Сейчас он работает.

Если проект собирается (BUILD SUCCESSFUL), но не запускается — дело не в warnings. Смотрите другие разделы этой лекции.


Проблема 6: Invalid modId — Minecraft крашится при запуске

Проект собирается (BUILD SUCCESSFUL), но runClient сразу падает:

Process 'command '...java.exe'' finished with non-zero exit value 1

Компилятор при этом молчит — ошибок нет.

Где искать

Ошибка спрятана в логах. Откройте run/logs/latest.log (или run/logs/<дата>.log.gz) и ищите ERROR:

Invalid modId found in file ... - myFirstMod does not match the standard: ^[a-z][a-z0-9_]{1,63}$

Почему так

Forge требует, чтобы mod_id содержал только строчные латинские буквы (a-z), цифры (0-9) и подчёркивания (_). Заглавные буквы запрещены.

Примеры:

  • myFirstModнеправильно (заглавные F и M)
  • MyModнеправильно (заглавные M)
  • myfirstmod — правильно
  • my_first_mod — правильно
  • cool_sword_mod — правильно

Решение

  1. Откройте gradle.properties и исправьте mod_id:
# Было:
mod_id=myFirstMod

# Стало:
mod_id=my_first_mod
  1. Откройте главный класс мода и исправьте MODID:
// Было:
public static final String MODID = "myFirstMod";

// Стало:
public static final String MODID = "my_first_mod";
  1. Проверьте файл src/main/resources/META-INF/mods.toml — там тоже указан modId:
modId="my_first_mod"
  1. Выполните Build → Clean Project, затем Build → Rebuild Project и запустите runClient.

Лучше сразу выбрать mod_id в нижнем регистре. Менять потом — придётся исправлять в нескольких файлах.


Ничего не помогло?

Проверьте:

  • Java — должен быть JDK 17 (не 8, не 21)
  • Forge — версия 47.4.10 для Minecraft 1.20.1
  • Gradle — версия 8.8 (проверьте в gradle/wrapper/gradle-wrapper.properties)
  • Интернет — попробуйте открыть https://maven.minecraftforge.net в браузере
  • Антивирус/файрвол — иногда они блокируют Gradle

Если вашей ошибки тут нет — опишите её в Telegram-чате, разберёмся и добавлю в лекцию.