第一个插件 - First Plugin
学习目标:
- 如何利用IntelliJ IDEA(以下简称IDEA)创建一个项目
- 如何用IDEA创建一个Module
- 编写第一个插件
- 导出插件
如何利用IDEA创建一个适合Bukkit插件开发的项目
-
打开我们的IDEA
idea_create_net_project.png
点击 Create New Project 该选项
-
在弹出来的新窗口内我们选择 Java 项目
idea_create_java_project.png
选择我们项目的 SDK(这里指JDK) ,之后点击 Next ,之后会提示我们要不要使用模板,这里我们不需要直接点击 Next
- 为我们的项目进行命名
之后我们就给我们的项目命个名,这里我使用 Tutorial 作为我们的项目名,路径什么的就让大家自己选择吧!
- Finish 完成创建
在项目创建好之后我们需要设置一下我们的开发视图
点击 IDEA 上的 View 选项,之后我们选择以下几个
- Toolbar -> 工具栏
- Tool Buttons -> 工具按钮
- Status Bar -> 状态栏
- Navigation Bar -> 导航条
个人比较喜欢全部打钩,这个视图按自己而定
如何用IDEA创建一个Module
我们点击 File -> New -> Module,之后像之前一样我们对这个 Module 进行命名,然后设置它的路径,这里建议 _Module** 的名字要与 **Project_** 区分开**
之后我们展开我们的项目就能看到我们新建的 Module 了,这里我用 Tutorial1 来做区分
编写第一个插件
导入核心
在编写之前我们要给我们的项目导入服务端核心(jar)
要想导入Jar我们就需要使用 IDEA 里的一个叫 Project Structure 的东西,我们点击 IDEA 里的 File 选项之后点击 Project Structure 之后我们会弹出来这么一个窗口
之后我们点击 Libraries -> 绿色的+号 -> Java, 之后在弹出来的窗口选择器选择好我们测试端的核心 -> OK
这一步是为了在以后的开发中避免重复导入相同的jar
之后我们点击 Modules 选择我们刚才创建的 Tutorial1, 然后点击 Dependencies 来设置我们的依赖
切换到 Dependencies 的界面之后点击 右边的绿色+号 ,之后选择Library,然后就导入我们刚才设置好的 Project Libraries
编写代码
那么我们导入好了Jar之后就可以来编写我们的代码了
和往常一样我们右键 Tutorial1 创建一个包 这里我建为 "cc.zoyn.tutorial1" 并且我在里面建了一个类叫 Tutorial1
我们再 Tutorial1 这个类里面写入以下代码
import org.bukkit.plugin.java.JavaPlugin;
public final class Tutorial1 extends JavaPlugin {
/**
* 当插件被Load(加载)时执行的代码
* getLogger().info() -> 代表或其控制台Log并且发送一行info信息
*/
@Override
public void onLoad() {
getLogger().info("onLoad has been invoked!");
}
/**
* 当插件被Enable(开启)时执行的代码
* getLogger().info() -> 代表或其控制台Log并且发送一行info信息
*/
@Override
public void onEnable() {
getLogger().info("onEnable has been invoked!");
}
/**
* 当插件被Disable(关闭)时执行的代码
* getLogger().info() -> 代表或其控制台Log并且发送一行info信息
*/
@Override
public void onDisable() {
getLogger().info("onDisable has been invoked!");
}
}
那么我们看到Tutorial1这个类继承了JavaPlugin,那么这个JavaPlugin是什么呢?
划重点
- JavaPlugin 是一个Java插件的基类,当一个类继承JavaPlugin后 ,它就是插件的主类,不允许其他类继承主类。
所以我这里就给我们的主类加上了 final 修饰符防止误操作继承了Tutorial1类
那么我们可以看到有三个方法
- onLoad
- onEnable
- onDisable
这三个方法的用途我已经写在上方的代码中,这里就不再赘述,所以我们来补充个知识
就是关于服务器加载的一个流程
通过上图我们可以得知onLoad() onEnable()这两个方法其实就是在加载流程中的 5和6这两个阶段中invoke,而onDisable()方法则是在服务器关闭的时候才会被invoke
那么当我们写好代码之后需要添加一个文件 plugin.yml
根据Bukkit插件的开发规范我们有:
- 插件的Jar根目录必须有一个名为plugin.yml的符合 YAML语法 的文件。
- plugin.yml内必须按规范填写足够保证插件能运行的信息。下面会详细说明.你可以在这里找到你想要的信息 plugin.yml详解
必填的值
name: Tutorial1 #插件名
main: cc.zoyn.tutorial1.Tutorial #插件主类路径
version: 1.0 #插件版本号
并且我还建议添加这一行
author: Zoyn #作者名
这样我们就很轻松的写好了我们的plugin.yml
导出插件
那么我们的插件写好之后就可以导出了
同样我们打开IDEA里的 Project Structure 我们点击最左边那一栏里的 Artifacts 点击绿色的 + 号之后创建一个JAR类型的Artifacts
之后我们自定义好名字开始设定要往等下的这个jar包丢些什么东西进去
idea_project_aftifacts_project.png
这一步是设置我们要把Tutorial1这个模块给输出出去(也就是编译成class之后丢在里面),然后我们丢plugin.yml
我们点击 Tutorial.jar 上方的那个绿色加号 之后点击 File,然后把我们刚才写好的plugin.yml也给丢进去
之后我们就可以OK保存了
之后我们点击工具栏上的 Build 之后点击 Build Artifacts 然后在弹出来的窗口中选中 Build 之后IDEA就会为我们开始构建了...
构建完成之后jar包就会出现在我们项目中的 ./out/artifacts/项目名/刚才构建设置当中的名.jar这里
那么我们丢进服务器里的plugins文件夹里,如果你可以在控制台里面发现
onEnable has been invoked!
的字样,那么恭喜你,你已经写好了你的第一个插件!
网友评论