Mods Type Checker
Проверяет, являются ли моды клиентскими, серверными или требуются на обоих серверах.
Быстрое задание
Как далеко вы сможете убежать, прежде чем вас поймают толпы?
Проверка Minecraft
Подтвердите свой запуск
Пройдите быструю проверку, чтобы получить свой код.
Mods Type Checker
ModsChecker
Инструмент командной строки для проверки модов Minecraft и пометки модов, доступных только клиенту. Он сканирует папку `mods`, вычисляет хеши и запрашивает данные у Modrinth и CurseForge для классификации модов.
Особенности
- Поиск в Modrinth по SHA1. - Поиск в CurseForge по отпечатку (пакетный запрос). - Определение метаданных из `fabric.mod.json`, `META-INF/mods.toml`, `mcmod.info`. - Классификация только на стороне клиента + эвристика. - Сводка в консоли и дополнительный отчет в формате JSON. - Вывод на английский/русский язык.
Требования
- Среда выполнения: Java 8–25. - Сборка: JDK 17+ (требуется Gradle 8.x).
Построить
```bash ./gradlew build ``` В результате получается fat-jar: ``` build/libs/modschecker-1.0.0.jar ```
Run
```bash java -jar modschecker-1.0.0.jar ```
Пример вывода

Файл конфигурации
При первом запуске рядом с JAR-файлом (или в рабочей директории) создается файл `modschecker.properties`.
Пример: ```properties modsDir=./mods curseforgeApiKey= gameId=432 verbose=false jsonOutput= language=ru pauseOnExit=true ```
Параметры интерфейса командной строки
- `--modsDir `: Папка Mods (по умолчанию `./mods` рядом с jar-файлом или текущим рабочим каталогом). - `--curseforgeApiKey `: ключ API (или окружение `CURSEFORGE_API_KEY`). - `--gameId `: По умолчанию `432` (Minecraft). - `--jsonOutput `: Сохранить JSON-отчет. - `--verbose`: Вывести дополнительную диагностическую информацию. - `--language` `: `ru` или `en`. - `--pause`: Дождитесь нажатия Enter перед выходом (по умолчанию в Windows). - `--noPause`: Не ждите нажатия Enter.
Правила классификации
Модификация считается предназначенной только для клиента, если: - Modrinth `client_side=required` и `server_side=unsupported` (требуется клиент), или - Modrinth `client_side=required` и `server_side=optional` (предпочтительно используется клиент).
Если данные по Modrinth недоступны, используется эвристический алгоритм, основанный на ключевых словах в названиях модов.
Заметки
- CurseForge используется только для идентификации (без явных флагов клиента/сервера). - Нет бесконечных повторных попыток или циклов; используются таймауты HTTP.