zh
切换语言
  1. PowerNukkitX
  2. 快速入门
  3. 服务器配置

    expand_more
    1. server.properties
    2. nukkit.yml
    3. pnx-cli-config.ini
    4. 反矿透
    5. 资源包加密
    6. 硬件加速压缩
    7. 使用WaterDogPE
    8. 超平坦世界
  4. FAQ

    expand_more
    1. 新人必看
    2. PNX-CLI教程
    3. 常见问题
    4. Terra问题
    5. 重生点问题
    6. 转换地图
  5. 开发者文档

    expand_more
    1. Java

      expand_more
      1. 跳转到JavaDoc
      2. Mod API

        expand_more
        1. 自定义方块
        2. 自定义物品
        3. 自定义实体
        4. 自定义附魔
      3. 生物AI

        expand_more
        1. 行为
        2. 记忆
        3. 传感器
        4. 运动控制器
        5. 寻路器
        6. 行为组
        7. 工作周期
    2. JavaScript

      expand_more
      1. 配置开发环境
      2. 基于LLSELib开发
      3. Hello World
      4. 基本知识
      5. 事件监听
      6. 常见开发问题
    3. API

      expand_more
      1. 简介
      2. 通用API
      3. Git-API
      4. 下载API
      5. 延迟返回API
      6. 插件API
    4. 实用资源

      expand_more
      1. 事件对照表
      2. 物品方块ID

下载API

下载API是PNX提供的用于下载文件的API,要下载的文件通过downloadID指定,您可以通过其他API, 如GitAPI等获取。

下载文件

根据给出的downloadID下载对应的文件。被下载的文件会由服务器缓存,如果文件已经被缓存,将直接高速返回缓存文件。 如果没有被缓存,将通过HTTP代理模式将文件转发给客户端并同时缓存。

url:

参数:

返回示例:

HTTP/2 200 OK
Content-Type: text/plain
被下载的文件

文件ID是否存在

判断给出的downloadID是否存在。

url:

参数:

返回示例:

{
  "hasId": false
}

文件是否已被缓存

判断给出的downloadID对应的文件是否已被缓存。

url:

参数:

返回示例:

{
  "isCached": false
}

获取文件源地址

如果文件是从第三方获取的(如GitHub),可以通过此API获取文件的源地址。

url:

参数:

返回示例:

{
  "url": "https://github.com/PowerNukkitX/PowerNukkitX/releases/download/1.19.62-r1/libs.tar.gz.sha256"
}

解压文件并获取文件列表

解压给出的downloadID对应的文件,并返回解压后压缩包的文件列表,包括文件信息、校验码及downloadID

该API为延迟返回API。

url:

参数:

返回示例:

{
  "target/libs/jopt-simple-5.0.4.jar": {
    "fileName": "target/libs/jopt-simple-5.0.4.jar",
    "size": 78146,
    "lastUpdateTime": 1677741336151,
    "md5": "eb0d9dffe9b0eddead68fe678be76c49",
    "downloadID": 30
  },
  "target/libs/sentry-log4j2-4.3.0.jar": {
    "fileName": "target/libs/sentry-log4j2-4.3.0.jar",
    "size": 5495,
    "lastUpdateTime": 1677741335663,
    "md5": "acf7cffad997735786a284ffc5164957",
    "downloadID": 69
  },
  "target/libs/guava-30.1.1-jre.jar": {
    "fileName": "target/libs/guava-30.1.1-jre.jar",
    "size": 2874025,
    "lastUpdateTime": 1677741335751,
    "md5": "05374f163d0a4141db672fff9df95b12",
    "downloadID": 48
  },
  // ......
  "target/libs/jline-reader-3.21.0.jar": {
    "fileName": "target/libs/jline-reader-3.21.0.jar",
    "size": 171621,
    "lastUpdateTime": 1677741336159,
    "md5": "3fd7c434561cbdd6e3d76b9d83d30393",
    "downloadID": 54
  },
  "target/libs/netty-transport-native-kqueue-4.1.77.Final-osx-x86_64.jar": {
    "fileName": "target/libs/netty-transport-native-kqueue-4.1.77.Final-osx-x86_64.jar",
    "size": 25757,
    "lastUpdateTime": 1677741336159,
    "md5": "797067286fbd7d11f874df34d73bdb98",
    "downloadID": 63
  },
  "target/libs/js-scriptengine-22.2.0.jar": {
    "fileName": "target/libs/js-scriptengine-22.2.0.jar",
    "size": 66505,
    "lastUpdateTime": 1677741336023,
    "md5": "e71ffc37c2ea416642721c3fed76efb6",
    "downloadID": 79
  }
}

© PowerNukkitX 开发组