Определите, на каком этапе произошёл сбой
Откройте официальный Launcher → Installations → три точки нужного профиля → Edit → More Options и посмотрите Game Directory. Если свой путь не задан, Windows: Win+R → %appdata%\.minecraft, macOS: Finder → Переход → Перейти к папке → ~/Library/Application Support/minecraft, Linux: ~/.minecraft. Ищите logs/latest.log и свежий файл в crash-reports.
Закройте игру, скопируйте отчёт в отдельную папку и откройте текстовым редактором. Нажмите Ctrl+F / Cmd+F и ищите Caused by:, ModResolutionException, requires, incompatible. В инструкции Fabric по crash-report показано, какие части относятся к ошибке; загрузка полного лога помогает передать его автору.
Какие файлы пригодятся
В игровой директории профиля откройте logs/latest.log. При аварийном завершении также проверьте crash-reports: не каждый сбой создаёт отчёт, поэтому отсутствие файла не означает отсутствие проблемы. У стороннего лаунчера каталог может отличаться от общей .minecraft; используйте кнопку открытия папки установки.
Сделайте копии логов до следующего запуска, который может перезаписать latest.log. В отчёт о проблеме включите версию Minecraft, загрузчик, Java, список модов и точный способ воспроизведения. Уберите токены, адреса приватных служб и другие личные сведения, если они оказались в журнале. Не обрезайте все строки до одной фразы «Exit code 1».
Начните с понятного сообщения загрузчика
Если в сообщении написано, что мод требует Fabric API, откройте версии Fabric API, выберите свою версию Minecraft и скачайте подходящий JAR. Положите его в mods именно используемого Game Directory. Не заменяйте зависимость случайным файлом с похожим названием.
В папке mods не должно одновременно лежать два выпуска одного мода: например example-1.0.jar и example-1.1.jar. Закройте игру и переместите старый файл в папку вне mods, затем запустите тот же профиль. Для NeoForge сверяйте совместимость на странице файла и в инструкции загрузчика; Fabric и NeoForge не взаимозаменяемы.
Порядок установки помогает проверить загрузчик отдельно от добавленных файлов. Подбор версий NeoForge.
Как читать стек ошибки
Строка Caused by показывает вложенную причину исключения. Просматривайте цепочку целиком: первая ошибка объясняет начало отказа, поздние сообщения могут быть следствиями. Название пакета в стеке полезно для поиска проекта, но упоминание Minecraft или общей библиотеки ещё не доказывает, что ошибка принадлежит именно им.
Mixin apply failed обычно связан с изменением одного и того же участка игрового кода, несовпадением версии или ошибкой самого мода. Найдите имя mixin и ближайшее содержательное исключение. NoSuchMethodError часто означает, что код ожидал метод, которого нет в загруженной версии библиотеки. Это направление проверки, а не универсальный диагноз.
Не редактируйте файл класса и не удаляйте случайные строки из конфигурации по названию исключения. Сначала сравните выпуски с требованиями проекта и известными проблемами автора. Если ошибка связана с изображением, добавьте модель видеокарты и драйвер; если с миром — опишите измерение и последние изменения сборки.
Проверяйте половинами, сохраняя зависимости
Создайте копию профиля и отдельный тестовый мир. Рабочее сохранение с модовыми блоками не открывайте после массового удаления модов. Перед поиском убедитесь, что минимальный набор «загрузчик плюс обязательные библиотеки» запускается. Затем разделите подозрительные дополнения на две группы и включите одну из них.
Если ошибка сохранилась, продолжайте делить эту группу; если исчезла, проверьте вторую. Но зависимости переносите вместе с модом: новая ошибка отсутствующей библиотеки не является воспроизведением исходного конфликта. Для взаимозависимых модов группа должна оставаться целой. После нахождения кандидата восстановите полный набор без него и повторите исходное действие.
Такой поиск находит минимальную комбинацию, а не просто последний удалённый файл. Конфликт способен зависеть от пары модов: поодиночке оба работают. Поэтому окончательная проверка должна воспроизводить проблему с этой парой и устранять её при исключении одного участника.
- В Launcher создайте тестовую установку с отдельным Game Directory, например
C:\Minecraft\ConflictTest. Скопируйте тудаmodsиconfig, а рабочий мир оставьте вне теста. - В тестовой папке создайте соседнюю папку
disabled-mods, вынесите туда половину необязательных модов. Загрузчик и обязательные библиотеки оставьте; зависимые группы переносите вместе. - Запустите профиль, создайте новый мир и повторите точно то же действие, например открытие карты клавишей M.
- Если ошибка исчезла, подозреваемая половина находится в
disabled-mods; если осталась — в включённой группе. Делите нужную группу снова. - При минимальной подозреваемой паре проведите три запуска: A с зависимостями, B с зависимостями, A+B. Запишите результат каждого.
- Верните рабочий набор из резервной копии. Отправьте автору минимальный список JAR,
latest.log, версии и три результата; инструкции публикации ищите в Issues официального репозитория мода.
Исправление выбирайте по причине
Для несовпадения версий установите совместимые выпуски. Для подтверждённого конфликта посмотрите, предлагает ли автор настройку или исправление. Если нет, выбирайте один из двух модов либо оставляйте прежнюю рабочую сборку. «Обновить всё» может заменить одну известную неисправность несколькими неизвестными.
Если сбой появился после изменения config, сравните его с резервной копией. В тестовом профиле можно переместить конфиг конкретного мода, чтобы он создал стандартный; не удаляйте всю папку настроек без понимания последствий. Успешный запуск со стандартным конфигом означает необходимость разбирать настройки, а не отказываться от мода целиком.
Для вылетов при включении графики есть отдельная последовательность проверки рендера. Ошибки шейдеров и чёрный экран.
Что написать автору мода
Хороший отчёт содержит минимальный набор, шаги воспроизведения, ожидаемое и фактическое поведение, версии и полный релевантный лог. Например: «В тестовом мире открытие GUI предмета вызывает вылет только при установленной паре A и B; без B окно открывается». Такой результат полезнее предположения по первой строке стека.
Проверьте, не описана ли та же ошибка в трекере проекта. Если исправление существует только в тестовом выпуске, сначала попробуйте его в отдельном профиле. После любого ремонта повторите не только вход в меню, но и действие, которое ломалось, сохранение мира и последующее открытие. Это показывает, что устранена причина исходного сбоя.



