分享一下 Minecraft 官方的版本 API 和 Minecraft 版本更新推送酷Q插件开发思路。
API
接触MC启动器开发的应该都知道官方是提供一系列API的,其中就包括一个版本列表,我们就是通过这个版本列表来实现检测更新的
API地址
1
| https://launchermeta.mojang.com/mc/game/version_manifest.json
|
访问之后可以看见这里发布的版本都会在这里列出,包括快照,正式版
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| { "latest": { "release": "1.15.2", "snapshot": "20w20a" }, "versions": [ { "id": "20w20a", "type": "snapshot", "url": "https://launchermeta.mojang.com/v1/packages/647210e26814933d29be51af2e3e0bb99ea3f4f3/20w20a.json", "time": "2020-05-13T15:15:58+00:00", "releaseTime": "2020-05-13T15:11:43+00:00" }, { "id": "20w19a", "type": "snapshot", "url": "https://launchermeta.mojang.com/v1/packages/e14d3652b363bf64b6b2cc7a2aee6cc0504fa4ba/20w19a.json", "time": "2020-05-13T14:07:31+00:00", "releaseTime": "2020-05-06T16:23:24+00:00" } ] }
|
实现
我们可以看到官方在头部就列出了正式版和快照版的最新版本,这也方便了我们对其进行对比监控
我直接将 latest.release
和 latest.snapshot
两个内容通过文件保存下来用作判断
然后设置一个周期,定时请求 API 然后解析 Json 将 key versions
下第一条信息,也就是 versions[0].XXX
通过 versions[0].type
获取最新的类型 然后对比 本地存储 latest.type
与 versions[0].id
的内容来实现判断更新推送
成品体验
[灵工艺] Minecraft 更新推送 酷Q论坛下载
如果你没有酷Q账号可以加入灵工艺用户群,群文件下载