modmanager icon indicating copy to clipboard operation
modmanager copied to clipboard

[Feature] Automating download dependencies, add new way to search

Open baka-gourd opened this issue 3 years ago • 4 comments

众所周知,模组的依赖问题才是最令人头疼的地方。 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

baka-gourd avatar Oct 04 '21 10:10 baka-gourd

以及建议对mod的图标做本地缓存,这种不太会变的资源都可以做缓存来提高加载速度

baka-gourd avatar Oct 04 '21 10:10 baka-gourd

感谢建议!已经加入TODO List

  • [ ] Download Curseforge mod depencies
  • [ ] Improve Curseforge search results
  • [x] Icon cache

不过搜索的问题,curseforge似乎并没有直接通过slug获取project id的方法(除了访问网页以及severmods,就我所知),感觉缓存了slug也没什么用

kaniol-lck avatar Oct 04 '21 11:10 kaniol-lck

感谢建议!已经加入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,而不是在去手动搜索 对于用户那就是一个一个慢慢加

baka-gourd avatar Oct 04 '21 11:10 baka-gourd

https://github.com/CFPAOrg/Minecraft-Mod-Language-Package/blob/main/config/spider/1.16/intro.json

实际上对slug的使用是这样的,同时生成了一个projectid和slug的映射表 用途之一就是如果别人给了你一个网页链接,你可以直接通过slug下载mod,而不是在去手动搜索 对于用户那就是一个一个慢慢加

恩。。果然是只能以比较暴力的方式解决

kaniol-lck avatar Oct 04 '21 11:10 kaniol-lck