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

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

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

    1. Java

      1. 跳转到JavaDoc
      2. Mod API

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

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

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

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

      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 开发组