Mods Type Checker

Проверяет, являются ли моды клиентскими, серверными или требуются на обоих серверах.

836

Быстрое задание

Как далеко вы сможете убежать, прежде чем вас поймают толпы?

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.

ОБЪЯВЛЕНИЯ
RU — Russian