艾乐秋天
从零开始使用Kotlin撰写Bukkit插件


一、准备工作


① 什么是Kotlin












这里我简单的概述下(COPY)



Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源,Kotlin
可以编译成 Java字节码也可以编译成 JavaScript
方便在没有 JVM(Java虚拟机) 的设备上运行



So,他与Java有什么区别?

Java Code
package dev;

import org.bukkit.plugin.PluginLogger;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.logging.Logger;

public final class Main extends JavaPlugin {
    public Logger logger = PluginLogger.getLogger("example Plugin~");

    @Override
    public void onEnable() {
        logger.info("插件已启动!");
        printLogo();
    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}复制代码

Kotlin Code


package dev复制代码从代码上看


Kotlin 相较于 Java 更加简便且直观



至于语法我这里就不过多介绍了




菜鸟教程 内有有关Kotlin语法的详细介绍












②正片开始


编辑器选择


要写出个插件,编辑器是必不可少的工具
这里我推荐使用



IntelliJ IDEA











IntelliJ IDEA 又叫 IDEA 好像差不多 是 Jetbrain 推出的专门为
Java 和 Kotlin 定制的 IDE




创建项目


打开你的IDEA    >     点击新建项目


并配置为如下图













Gradle DSL的选择取决于你的习惯


选择 Kotlin 你的BuildGradle文件将为 build.gradle.kts (Kotlin脚本形式)
选择 Groovy 你的BuildGradle文件将为 build.gralde (原生BuildGradle形式)


两种形式的配置方法都有所不同
我列举下


Kotlin脚本形式

在Plugins一栏中添加下面的代码片段(重要)

    id("com.github.johnrengelman.shadow").version("7.1.2")


在repositories一栏中添加下面的代码片段

    maven {        name = "Aliyun Maven"        setUrl("https://maven.aliyun.com/nexus/content/groups/public/")    }
    //Spigot    maven {        name = "spigotmc-repo"        setUrl("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")    }复制代码

在dependencies中添加以下代码(重要依赖)

compileOnly ("org.spigotmc:spigot-api:1.13-R0.1-SNAPSHOT")


这里的版本是可以修改的


然后在空处添加以下代码片段

//防止编译中文出现乱码
tasks.withType {
    options.encoding = "UTF-8"
}



//将kotlin标准库编译入Plugin防止服务器找不到无法加载插件
tasks.withType{
    manifest.attributes.apply{
        put("kotlin-stdlib","1.6.20")
    }
}




至此,重载你的Gradle!


原生形式



在Plugins一栏添加


id 'com.github.johnrengelman.shadow' version '7.0.0'





在repositories一栏添加
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }maven { url 'https://hub.spigotmc.org/nexus/content/repositories/public/' }复制代码

在dependencies一栏添加
  implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.20'复制代码

在空处添加

shadowJar {复制代码    options.encoding = "UTF-8"
}


至此,重载Gradle!


打开 src > main > resources
添加 plugin.yml
name: "插件名称"main: 主类位置 (net.example.plugin.main main为你的主类名称)version: '1.0-SNAPSHOT'api-version: '1.13'authors: [艾乐·秋]复制代码

打开 src > main > kotlin


删除里面全部内容(别把kotlin文件夹一起删除了!)


并右键创建软件包
(net.example.plugin)


以括号内为准,可以自由修改

然后右键创建Kotlin类名称随意


记住你的主类位置并将位置复制到plugin.yml内的main项

然后打开刚刚创建的类
添加以下内容
override fun onEnable() {        super.onEnable()}
override fun onDisable() {        super.onDisable()}复制代码

准备工作完毕!

第一页 上一页 下一页 最后一页