Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.x
1.6.4
1.6.1–1.6.2
1.5.x
1.4.4–1.4.7
1.4.2
1.3.x
1.2.x
1.1
1.0
Platforms
Supported environments
Server-side
Singleplayer
Tags
Creators
Details
Licensed ARR
Published 4 months ago
ModsChecker
CLI tool to audit Minecraft mods and flag client-only mods. It scans a mods folder, calculates hashes, and queries Modrinth and CurseForge to classify mods.
Гайд на русском: тут
Features
- Modrinth lookup by SHA1.
- CurseForge lookup by fingerprint (batch request).
- Metadata detection from
fabric.mod.json,META-INF/mods.toml,mcmod.info. - Client-only classification + heuristics.
- Console summary and optional JSON report.
- English/Russian output.
Requirements
- Runtime: Java 8 to 25.
- Build: JDK 17+ (Gradle 8.x requirement).
Build
./gradlew build
Resulting fat-jar:
build/libs/modschecker-1.0.0.jar
Run
java -jar modschecker-1.0.0.jar
Example output

Configuration file
On first run, a modschecker.properties file is created next to the jar (or in the working directory).
Example:
modsDir=./mods
curseforgeApiKey=
gameId=432
verbose=false
jsonOutput=
language=ru
pauseOnExit=true
CLI options
--modsDir <path>: Mods folder (default./modsnext to the jar or cwd).--curseforgeApiKey <key>: API key (or envCURSEFORGE_API_KEY).--gameId <int>: Default432(Minecraft).--jsonOutput <path>: Save JSON report.--verbose: Print extra diagnostics.--language <lang>:ruoren.--pause: Wait for Enter before exit (default on Windows).--noPause: Do not wait for Enter.
Classification rules
A mod is considered client-only if:
- Modrinth
client_side=requiredandserver_side=unsupported(client required), or - Modrinth
client_side=requiredandserver_side=optional(client preferred).
If Modrinth data is not available, a heuristic is used based on keywords in mod names.
Notes
- CurseForge is used for identification only (no explicit client/server flags).
- No infinite retries or loops; HTTP timeouts are used.


