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

HelloWorld

本章中笔者将带您制作第一个js插件。

插件格式

一个JS插件即为一个在plugins文件夹中的以@为开头的文件夹中的内容。
每个JS插件都需要包含plugin.yml配置文件和至少一个js文件,也可以包含任意数量的任意文件和文件夹。
具体的格式说明可以在 插件格式 章节中查看。强烈建议您仔细阅读插件格式章节

创建plugin.yml

再次提醒,@dir文件夹指代您创建的插件文件夹

@dir文件夹中创建plugin.yml配置文件,并在其中填写插件的基本信息。

name: HelloWorld
main: index.js
version: "1.0.0"
api: ["1.0.13"]
load: POSTWORLD
author: 请把这行中的汉字替换为你的名字
description: 第一个HelloWorld插件

创建js文件

刚刚我们在plugin.yml中的main字段中指定了我们的js入口文件叫做index.js,现在我们在@dir文件夹中创建一个名为index.js的js文件。

console.log("Hello World")

export function main() {
	console.warn("Hello World")
}

export function close() {
	console.error("Hello World");
}

上面的代码将会在服务端启动时、服务端开始初始化插件时,服务端关闭时分别在控制台以INFOWARNERROR的方式输出Hello World

PNX JS遵守ESM(EcmaScript Module)规范,因此您需要在编写时遵守ESM规范
需要被外部调用的函数应当加上export关键字
您可以在 此处 了解更多关于ESM的信息

一些解释

整个JS代码将在服务器刚启动时加载,请务必牢记:大部分与游戏相关的内容,如监听事件,生成物品,操作地图,控制生物等等都不能在刚开始的时候进行!

export main函数将会在PNX服务器初始化完成后被调用,此函数被调用时及以后您可以进行与游戏相关的操作。
export close函数将会在在PNX服务器关闭时或您的插件被卸载时调用,此时您应当进行一些清理收尾工作。


© PowerNukkitX 开发组