插件管理器实现思路
Closed this issue · 3 comments
R1ckyH commented
续 #89
就目前讨论的方案记录
目前的打算是让作者在插件仓库注册一个LTS
版本的plugin_info,json(或yml)
然后插件管理器透过读取plugin_info.json
获取插件的大约资讯和连接
以供给用户暂时性观看。
如果需要详细资讯在透过plugin_info.json
内的连接前往作者的仓库
再在作者的仓库里面读取作者自己维护的data.json(或yml)
然后从data.json
里面的文件决定具体操作流程
插件仓库内的文件结构大概如下
/plugin_info.json(有可能变成yml)
id: [str]
author: list[str] or [str]
link: [str]
name: [str]
info: {
en_us: desc[str]
zh_cn: desc[str]
}
---
作者仓库的文件结构
作者仓库目前还没有大约的共识,故指留下大约的文件结构,内容暂时没有。
my_plugin.py
: 插件/插件入口readme.md
: 自述文件plugin/mcdreforged.plugin .yml/.json
: 名称未定,作者需要维护的插件信息my_plugin/
: 非必选,插件所需其他文件- ...
AnzhiZhang commented
插件管理器自动安装python依赖,需要可配置venv路径
AnzhiZhang commented
将这个思路进行了整理和细化,#100
Fallen-Breath commented
已于 MCDR 2.0 实现插件库规范
文档:https://mcdreforged.readthedocs.io/zh_CN/latest/plugin_dev/plugin_catalogue.html