⚠️ 注意: 这是 DHJComical/Minecraft-mod-classifier 的 Python 重构版本。原项目使用 C++ 实现,本版本完全重写为 Python,提供更简洁的代码、更好的跨平台支持和更低的贡献门槛。
一个智能的 Minecraft Mod 分类工具,自动识别和分类 Mod 文件的运行端属性(客户端/服务端)。
核心特性:
- ✅ 三层优先级分类 - JAR配置 > 规则数据库 > Modrinth API
- ✅ 自动学习机制 - 新Mod自动识别并同步至规则数据库
- ✅ 智能规则更新 - 基于在线数据批量更新分类,支持差异分级处理
- ✅ 增量补丁生成 - 自动生成规则更新补丁,便于审查和合并
- ✅ 多语言支持 - 中文/English 界面
- ✅ 全面格式支持 - Fabric/Forge/NeoForge
- ✅ 零依赖运行 - 仅需 Python 标准库
- ✅ 小白友好贡献 - 自动生成补丁文件,无需Git知识
- 下载 Releases 中的
minecraft-mod-classifier-v0.1.6-windows-x86_64.zip - 解压后双击
Minecraft-mod-classifier.exe - 将
.jarMod 文件放入Input目录 - 从
Output目录获取分类结果
tar -xzf minecraft-mod-classifier-v0.1.6-linux-x86_64.tar.gz
cd Minecraft-mod-classifier
chmod +x Minecraft-mod-classifier
./Minecraft-mod-classifiergit clone https://github.com/ZHwash/Minecraft-mod-classifier.git
cd Minecraft-mod-classifier
python src/python/main.py详细使用说明请查看 docs/USAGE.md
| 类型 | 说明 | 典型示例 |
|---|---|---|
| ClientOnly | 仅客户端需要 | 小地图、光影、HUD |
| ServerOnly | 仅服务端需要 | 备份插件、性能优化 |
| ClientRequiredServerOptional | 客户端必装,服务端可选 | JEI、REI |
| ClientOptionalServerRequired | 客户端可选,服务端必装 | 世界生成Mod |
| ClientAndServerRequired | 两端都必须安装 | 大多数内容Mod |
| ClientOptionalServerOptional | 两端都可选 | 配置库、API库 |
| Unknown | 无法自动识别 | 需手动确认 |
当配置库中没有该 Mod 时,自动读取 JAR 内部配置文件:
fabric.mod.json(Fabric)META-INF/neoforge.mods.toml(NeoForge)META-INF/mods.toml(Forge)mcmod.info(旧版 Forge)
首次运行时解析 JAR 并保存配置到 config/mods_data.json,后续运行直接查询。每次运行后自动将新识别的Mod同步至 config/mod_rules.json 规则数据库。
分类完成后,可选择生成规则更新补丁文件:
# 分类完成后会自动生成补丁:
[2026-04-30 17:52:23] INFO: 正在生成规则更新补丁...
✓ 成功生成增量补丁: rule_update_patch_20260430_175223.json
新增规则: 0 条
更新规则: 72 条
总计变更: 72 条
📤 如何提交更新:
方法1(推荐 - 使用合并工具):
python src/python/apply_patch.py rule_update_patch_20260430_175223.json
方法2(手动 - 通过GitHub Issue):
1. 打开 GitHub Issues: https://github.com/ZHwash/Minecraft-mod-classifier/issues
2. 点击 'New Issue'
3. 将补丁文件内容粘贴进去并提交工作流程:
- 分类完成 → 保存 mods_data.json(包含 reason 字段)
- 生成补丁 → 比较 mods_data.json 和 mod_rules.json
- 检测到差异 → 生成增量补丁文件
- 同步规则 → 将配置更新至 mod_rules.json
前提条件:
- 无需任何Git或GitHub Token配置
- 生成的JSON补丁文件包含详细的提交说明
详细说明请查看 GITHUB_INTEGRATION.md
本仓库: ZHwash/Minecraft-mod-classifier (Python版本)
原仓库: DHJComical/Minecraft-mod-classifier (C++版本)
我们从原 C++ 项目 Fork 并进行了完全重构,主要原因包括:
- 降低门槛 - Python 比 C++ 更容易学习和贡献
- 内置 JAR 解析 - Python 的
zipfile模块天然支持读取 JAR 文件 - 无需编译 - 可直接运行或打包为独立可执行文件
- 跨平台友好 - 同一份代码可在 Windows/Linux/macOS 运行
- 代码简洁 - ~600行 Python vs ~800行 C++
选择建议:
- 🎯 如果你想要开箱即用、易于维护的版本 → 使用 Python 版本(本仓库)
- 🎯 如果你偏好原生性能、C++生态 → 使用 C++ 原版(原仓库)
Minecraft-mod-classifier/
├── src/python/ # Python源代码
│ ├── main.py # 主程序入口
│ ├── mod_classifier.py # 核心分类逻辑
│ ├── jar_parser.py # JAR包解析器
│ ├── config_manager.py # 配置管理器
│ ├── rule_manager.py # 规则数据库管理
│ ├── modrinth_api.py # Modrinth API集成
│ ├── file_utils.py # 文件工具函数
│ ├── logger.py # 日志系统
│ └── i18n.py # 国际化支持
├── config/ # 配置文件
│ ├── mods_data.json # Mod配置数据库(自动生成)
│ ├── mod_rules.json # 规则数据库(830+条规则)
│ └── settings.json # 用户设置
├── Input/ # 输入目录(放入待分类Mod)
├── Output/ # 输出目录(分类结果)
│ ├── ClientOnly/ # 仅客户端
│ ├── ServerOnly/ # 仅服务端
│ ├── ClientAndServerRequired/ # 双端必需
│ └── ... # 其他分类目录
└── docs/ # 文档
├── QUICKSTART.md # 快速入门
├── USAGE.md # 详细使用说明
└── BUILD_GUIDE.md # 打包构建指南
我们欢迎所有形式的贡献!❤️
- Fork 本仓库
- 创建功能分支
git checkout -b feature/AmazingFeature
- 提交更改
git commit -m 'Add some AmazingFeature' - 推送到分支
git push origin feature/AmazingFeature
- 开启 Pull Request
- 📝 添加新的Mod分类规则 - 通过生成补丁文件提交至GitHub Issues
- 🐛 修复Bug - 提交Issue或直接PR
- ✨ 添加新功能 - 如GUI界面、Web API等
- 📖 改进文档 - 让新手更容易上手
- 🌍 翻译支持 - 添加新语言
小白友好贡献流程:
- 运行分类程序,自动识别新Mod
- 程序自动生成规则更新补丁文件
- 打开生成的JSON文件,复制内容
- 到GitHub Issues页面粘贴并提交
- 完成!无需任何Git知识
如果你想为原 C++ 项目贡献,请前往 DHJComical/Minecraft-mod-classifier。
本项目采用 MIT 许可证 - 详见 LICENSE 文件
感谢 DHJComical 创建的原始 C++ 版本,为本项目提供了灵感和基础设计思路。