本教程并非一个从零开始的教程,需要您了解JAVA基础知识,Linux的常用操作,本教程不会对这些内容进行过多的补充。
一、环境搭建
1.1 jdk的安装和配置
网上有很多写的很详细的教程,可以自行搜索或参考:JDK安装与环境变量配置
1.2服务端的编译及eclipse配置
1.2.1 编译Spigot服务端
首先在Spigot官网下载编译工具BuildTools.jar,然后在本地创建一个名为Spigot的文件夹,并从命令行打开至该文件夹。使用
java -jar BuildTools.jar
命令编译服务端,由于下载的资源都在国外,从国内访问能会因为网络问题需要等很久,如有条件,可以使用VPS编译,或参考《给Linux Shell、Windows powershell和Git设置代理》这篇教程来配置代理以提高速度。编译完成命令行显示:
这里的spigot-X.xx.jar 即为Spigot服务端。除服务端外,还需要Spigot-API来用于后续的插件开发,其位置位于:
1.2.2 Eclipse的配置
-
启动Eclipse; 如果需要,您可以更改工作区位置。
-
创建一个新项目,将项目名称设置为您想要的任何名称。 在这里,我们选择了SpigotBlankPlugin,点击下一步。
在“库”选项卡下选择“添加外部JAR”。 在JAR Selection对话框中,选择spigot-api-shaded jar文件,该文件可在BuildTools文件夹中的Spigot/Spigot-API/target/中找到。
-
添加新包
右键单击src并单击New>Package。 可以使用任何你希望的命名。在这里,我使用反向域名表示法(例如:com.xuchaoji.spigot)。
-
创建一个新类
右键单击新创建的包,然后选择“新建”>“类”。 给它任何名字; 由于这是一个空白插件,我给它的名称与项目相同。 在编辑器中,新创建的Java类将打开。 代码应该看起来像这样:package com.xuchaoji.spigot;
public class SpigotBlankPlugin {
public static void main(String[] args) { // TODO Auto-generated method stub }
}
二、插件的必备元素
-
重写抽象方法
JavaPlugin类有一些必须由插件实现的抽象方法。 因此,添加onEnable和onDisable函数,这些函数将在控制台中禁用或启用插件时触发。 您现在可以将这些留空。 您还需要在方法上方编写@Override。到此步骤,代码如下:package com.xuchaoji.spigot;
import org.bukkit.plugin.java.JavaPlugin;import net.md_5.bungee.api.ChatColor;
public class SpigotBlankPlugin extends JavaPlugin {
//插件加载时执行此方法
@Override
public void onEnable() {
System.out.println(ChatColor.AQUA+"[BlankPlugin]已成功加载!");
}//插件停用时执行次方法 @Override public void onDisable() { System.out.println(ChatColor.RED+"[BlankPlugin]已停用!"); }
}
-
创建plugin.yml文件
右键单击该项目,然后创建一个文件New> File。 将其命名为plugin.yml。 其内容如下:name: SpigotBlankPlugin
main: com.xuchaoji.spigot.SpigotBlankPlugin
version: 1.0
api-version: 1.13
commands:
编辑plugin.yml的时候注意,冒号后面必须加空格,不然会格式错误导致插件不能顺利加载。其中main: 后面的根据前面自己设置的包和类名来修改,不一定和本教程一样。
- 导出插件
以上步骤已经成功创建了一个空插件,由于没有错误,我们可以将此项目导出为JAR。 右键单击项目名称,选择“导出”。 在结果对话框中,选择JAR文件。 点击下一步。 将导出目标更改为插件文件夹。步骤图如下:
导出插件时.jar格式的,添加到服务端的plugin文件夹内即可使用:
- 运行效果:
到这里,就已经完成了一个空插件的开发,代码见github:SpigotBlankPlugin,后续会更新更多功能的介绍。