zh

插件格式

本文档描述的是适用于PowerNukkitX服务端的Javascript插件格式。

文件层级

一个JS插件应当处在PNX服务端plugins文件夹内中一个以@为开头的文件夹中,下方是一个示例:

plugin.yml格式

plugin.yml是一个yml格式的js插件的配置文件,用于描述此插件的相关信息。

name: 你的JS插件的名称
main: xxx.js # JS入口文件,应该导出一个main函数(如main.js)
version: "版本号"
api: ["1.0.13"] # API版本,PNX从1.0.13起开始支持JS插件
load: POSTWORLD # 插件加载顺序,只能填写 STARTUP 或 POSTWORLD
# STARTUP: 此时服务器刚启动,地图尚未加载,通常用于依赖库
# POSTWORLD: 此时服务器所有地图都加载完毕,通常填写POSTWORLD即可
author: 作者名字 # 此项可以不存在
authors: # 此项可以不存在
- 当有多个作者的时候
- 你可以填写一个作者名字列表
description: 插件描述文本
website: 这个插件的网站
depend: # 插件的依赖项,填写依赖插件的名称,如果依赖的插件有一个不存在,那么PNX不会加载这个JS插件,此项可以不存在
- Plugin1
- Plugin2
softdepend: # 插件的软依赖项,填写软依赖插件的名称,被软依赖的插件将会先于这个JS插件加载,如果依赖的插件有一个不存在,PNX仍然加载这个JS插件,此项可以不存在
- Plugin1
- Plugin2
features: # 插件的特性,填写特性名称,某些内置模块需要使用特定的特性才能弃用,此项可以不存在
- feature1
- feature2

JS入口文件格式

PNX中,所有js插件都将以ESM模块方式加载。
入口文件可以在plugin.yml中配置。
入口文件必须导出main函数,可选导出close函数,例如:

console.log("JS")

export function main() {
	console.log("JS plugin start")
}

export function close() {
	print("JS plugin close");
}

其中,整个JS代码将在服务器初始化时执行,此时您不应该对服务器进行操作。
main函数将在plugin.yml指定的load时间运行。
close函数将在插件被卸载时执行。


© PowerNukkitX 开发组