写了个Minecraft版本更新推送酷Q插件,顺便说下原理

/ 0评 / 0

本 博 惯 例

插件没有开源,所以这里我讲讲我是怎么写的,非常简单就能写一个

API

接触MC启动器开发的应该都知道官方是提供一系列API的,其中就包括一个版本列表,我们就是通过这个版本列表来实现检测更新的
API地址

https://launchermeta.mojang.com/mc/game/version_manifest.json

访问之后可以看见这里发布的版本都会在这里列出,包括快照,正式版

{
  "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.releaselatest.snapshot 两个内容通过文件保存下来用作判断
然后设置一个周期,定时访问Json然后解析 versions 下第一条信息,也就是 versions[0].XXX
通过 versions[0].type 获取最新的类型 然后对比 本地存储 latest.类型versions[0].id 的内容来实现判断更新推送

成品体验

[灵工艺] Minecraft 更新推送 酷Q论坛下载

如果你没有酷Q账号可以加入灵工艺用户群,群文件下载

发表评论

电子邮件地址不会被公开。 必填项已用*标注