modmanager
modmanager copied to clipboard
[Feature] Automating download dependencies, add new way to search
众所周知,模组的依赖问题才是最令人头疼的地方。 CurseForge的API已经提供了依赖的部分,希望以后的版本能够自动下载依赖。 下面是一个之前十分shit的实现: https://github.com/baka-gourd/Mod-Downloader/blob/master/main.py#L122-L124 可能的方法:实现一个递归方法,读取dependencies并加入下载列表,同时在本地缓存依赖列表。(毕竟这个api有短时间内请求数的限制)
CurseForge的搜索也不是十分友好,对大小写和空格很严。可以在第一次获取info的时候同时获取其slug字段存在本地,这样不仅能方便记slug的人,还能方便获取到cf网页链接的人。
slug就是https://www.curseforge.com/minecraft/mc-mods/draconic-evolution
里的draconic-evolution
以及建议对mod的图标做本地缓存,这种不太会变的资源都可以做缓存来提高加载速度
感谢建议!已经加入TODO List
- [ ] Download Curseforge mod depencies
- [ ] Improve Curseforge search results
- [x] Icon cache
不过搜索的问题,curseforge似乎并没有直接通过slug获取project id的方法(除了访问网页以及severmods,就我所知),感觉缓存了slug也没什么用
感谢建议!已经加入TODO List
不过搜索的问题,curseforge似乎并没有直接通过slug获取project的方法(除了访问网页以及severmods,就我所知),感觉缓存了slug也没什么用
https://github.com/CFPAOrg/Minecraft-Mod-Language-Package/blob/main/config/spider/1.16/intro.json
实际上对slug的使用是这样的,同时生成了一个projectid和slug的映射表 用途之一就是如果别人给了你一个网页链接,你可以直接通过slug下载mod,而不是在去手动搜索 对于用户那就是一个一个慢慢加
https://github.com/CFPAOrg/Minecraft-Mod-Language-Package/blob/main/config/spider/1.16/intro.json
实际上对slug的使用是这样的,同时生成了一个projectid和slug的映射表 用途之一就是如果别人给了你一个网页链接,你可以直接通过slug下载mod,而不是在去手动搜索 对于用户那就是一个一个慢慢加
恩。。果然是只能以比较暴力的方式解决