-
Notifications
You must be signed in to change notification settings - Fork 3
创建一个 EasyAPI 插件
以 Idea 作为 IDE 进行演示, 其他 IDE 如 Eclipse 依葫芦画瓢即可.
Jdk 1.8.0_231 ( Java 8 以上即可 )
打开 Idea, 选择 New Project
选择 Maven, 选择 SDK 版本 1.8+, 点击 Next
输入你的项目名称, groupId
, artifactId
, 和 version
.
这里以 EasyAPIDemo
, easyapi.demo
, EasyAPIDemo
, 1.0-SNAPSHOT
为例
这些参数的具体含义, 参见这篇文章
或是用搜索引擎搜索: “Maven groupId artifactId version” 以获取更多信息
注: 新版 Idea 你可能需要点击Artifact Coordinates展开详细配置
一般的, 我们可以得到一个这样的文件结构 (如果没有文件结构, 请点击右侧 Project 按钮展开文件结构)
你可以看到 蓝色的 java
文件夹, 和右下角黄色的 resource
文件夹
点开 pom.xml
, 你应该把 pom.xml
修改成如下格式
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 从这开始看, 上面的不需要在意 -->
<groupId>easyapi.demo</groupId> <!-- 你刚刚定义的groupId -->
<artifactId>EasyAPIJavaDemo</artifactId> <!-- 同理 -->
<version>1.0-SNAPSHOT</version> <!-- 同理 -->
<!-- 你可以理解 Maven 是一个依赖管理器(当然也可以是构建), Maven 会检测项目 pom.xml 需要的依赖, 自动从 Maven 中央仓库添加依赖至项目 -->
<!-- 下面这一段的意思你可以理解为, Nukkit 不在 Maven 中央仓库发布, Nukkit 使用自己的仓库发布 Nukkkit, 所以我们需要导入 -->
<repositories>
<repository>
<id>nukkit-repo</id>
<url>https://repo.nukkitx.com/maven-snapshots</url>
</repository>
</repositories>
<!-- 插件需要的依赖 -->
<dependencies>
<!-- EasyAPI 插件 -->
<dependency>
<groupId>top.wetabq.easyapi</groupId>
<artifactId>EasyAPI</artifactId>
<version>1.1.2</version> <!-- 记得修改到已经安装到本地库最新版本 -->
</dependency>
<!-- Nukkit 插件 -->
<dependency>
<groupId>cn.nukkit</groupId>
<artifactId>nukkit</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
然后按照下图操作, 刷新 Maven. 如果遇到无法加载 EasyAPI 的情况 (EasyAPI 依赖字体为红色), 请查看Installation 安装的 Maven 安装部分.
在 resource
文件中新建文件 plugin.yml
(右键 resource
文件夹)
name: EasyAPIJavaDemo # 插件名字
main: easyapi.demo.EasyAPIDemo # 插件主类 后面解释
version: "1.0.0" # 插件版本
api: ["1.0.0"] # 插件API, Nukkit 2.0就是 2.0.0
load: POSTWORLD # 加载顺序, 分为 STARTUP 和 POSTWORLD, 一个是服务器一开始就加载, 一个是世界加载完以后再加载
author: WetABQ # 插件作者
depend: # 插件依赖
- "EasyAPI" # 依赖于 EasyAPI 插件
创建包, 与你的 groupId
匹配 (非必须), 这里就是 easyapi.demo
右键刚刚新建的包, 新建类, 我们把这个类作为主类, 这里以 EasyAPIDemo 为例
让这个类继承于 PluginBase
具体见如下代码
package easyapi.demo;
import cn.nukkit.plugin.PluginBase;
public class EasyAPIDemo extends PluginBase {
@Override
public void onEnable() {
}
@Override
public void onDisable() {
}
}
因为这是这个类继承了 PluginBase
所以这个类是这个插件的主类.
所以 plugin.yml
中 为 main: easyapi.demo.EasyAPIDemo
至此, 我们创建了一个新 EasyAPI 插件
- Home
- Installation 安装
-
你的第一个 EasyAPI 插件
- 创建一个 EasyAPI 插件
- 认识 EasyAPIModule
- 使用基础 API 接口
- 打包发布你基于 EasyAPI 的插件