BBSMC Logo
模组
资源包
数据包
整合包
光影
插件
软件资源
论坛
登录
模组插件数据包光影资源包整合包资源
登录
设置
Modrinth模组下载器

Modrinth模组下载器

Modrinth模组下载器是一款原创且方便易用的Minecraft模组下载工具。

28
1

    主页

    使用方法
    技术文档
简介更新日志版本百科反馈讨论

Modrinth下载器 - 技术文档

项目架构

本项目由两个核心模块组成:

  1. modrinth_downloader.py - 核心功能模块

    • 负责与Modrinth API交互
    • 实现搜索、版本获取和下载功能
    • 提供命令行界面
  2. modrinth_gui.py - 图形用户界面模块

    • 基于tkinter构建
    • 调用核心模块的功能
    • 提供更友好的用户交互体验

Modrinth API集成

API端点使用

项目使用以下Modrinth API端点:

  1. 搜索模组:

    GET https://api.modrinth.com/v2/search?query={query}
    
  2. 获取模组版本:

    GET https://api.modrinth.com/v2/project/{id}/version
    

请求处理

  • 使用requests库发送HTTP请求
  • 默认User-Agent设置为"ModrinthDownloader/1.0"
  • 错误处理:
    • 网络错误
    • API返回错误
    • JSON解析错误

核心功能实现

搜索功能 (search_mods())

  1. 构造搜索URL
  2. 发送GET请求
  3. 解析返回的JSON数据
  4. 返回格式化结果

版本获取 (get_project_versions())

  1. 使用模组ID构造版本请求URL
  2. 发送GET请求
  3. 解析并排序版本数据
  4. 返回版本列表

文件下载 (download_file())

  1. 创建downloads目录(如果不存在)
  2. 发送流式GET请求
  3. 使用tqdm显示下载进度
  4. 保存文件到本地
  5. 返回保存路径

GUI设计与实现

主窗口结构

ModrinthDownloaderGUI
├── search_frame (搜索框和按钮)
├── results_tree (搜索结果列表)
├── details_frame
│   ├── desc_text (模组描述)
│   └── versions_tree (版本列表)
└── download_button (下载按钮)

事件处理流程

  1. 搜索事件 (on_search())

    • 获取搜索词
    • 调用search_mods()
    • 更新结果列表
  2. 模组选择 (on_mod_select())

    • 获取选中模组ID
    • 调用get_project_versions()
    • 更新详情和版本列表
  3. 下载事件 (on_download())

    • 获取选中版本
    • 调用download_file()
    • 显示下载结果

扩展指南

添加新功能

  1. 支持更多模组信息:

    • 修改search_mods()返回更多字段
    • 更新GUI显示更多信息
  2. 多文件下载:

    • 修改版本选择逻辑
    • 实现批量下载功能
  3. 本地模组管理:

    • 添加本地模组数据库
    • 实现已下载模组列表

修改现有功能

  1. 更改下载目录:

    • 修改download_file()中的保存路径
  2. 添加代理支持:

    • 在请求函数中添加代理参数
  3. 改进错误处理:

    • 添加更详细的错误提示

常见问题

搜索无结果

可能原因:

  • 网络连接问题
  • API服务不可用
  • 搜索词不匹配任何模组

解决方案:

  • 检查网络连接
  • 尝试不同的搜索词
  • 稍后重试

下载失败

可能原因:

  • 文件URL失效
  • 磁盘空间不足
  • 权限问题

解决方案:

  • 检查保存路径权限
  • 确保磁盘有足够空间
  • 尝试其他版本

开发建议

  1. 使用虚拟环境:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate     # Windows
    
  2. 安装开发依赖:

    pip install -e .
    
  3. 打包发布:

    pyinstaller --onefile modrinth_gui.py
    
设置
"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

本站与Modrinth无从属关系,网站遵循Modrinth网站程序的LGPL协议开源 开源地址

版权所有 © 2019-2024 青岛柒兮网络科技有限公司 | ICP经营许可证: 鲁B2-20210590 | ICP备案: 鲁ICP备2021009459号-12