用Kotlin开始开发Minecraft插件
首先
本文是2021年法政大学信息科学部圣诞日历的第22篇文章。
你好,我是情報科學部的waigoma。马上就要新年了,时间过得真快。
这次是我第一次写文章,我打算解释一下我最熟悉的Spigot插件开发。
让我们制作一个基于Java版Minecraft的插件来学习Kotlin吧!虽然这次我们是要制作插件,但是它非常简单,适合初学者。让我们先打个预防针。
在这里,我想简单地解释一下什么是 Kotlin,因为我认为有些人可能不知道。Kotlin 是一种与 Java 完全兼容的语言,可以编写简洁的代码。然而,由于它相对较新,所以很难找到相关的资料,这是它的缺点。
我将这次完成的项目上传到了 Github。
那我们立即开始开发吧!
环境
-
- Spigot 1.18.1
-
- Intellij IDEA Ultimate 2021.3
- JDK 11.0.11
使用这样的环境。由于在这里不解释安装方法等,请自行调查并进行安装!(调查的能力也很重要!)
Minecraft开发 插件安装

通过这样做,可以安装Minecraft开发插件。
开始开发!
因为所需的东西都准备就绪,所以我们要开始真正的开发了!
创建项目

构建设置

水龙头设置

指定目录位置

还有设置没完成!?
虽然想要说 “现在可以用 Kotlin 进行开发了!”,但还有一些设置尚未完成。
努力吧!
将Java代码转换为Kotlin
由于Spigot是使用Java编写的,因此创建的项目模板也是用Java编写的。因此,需要将其转换为Kotlin。
但是,请放心。所有的功能都可以由Intellij IDEA自动转换完成!


然后,由于没有正确定义使用Kotlin的依赖关系,因此会跳转到这样的画面。
然而,在切换到的画面中,已经正确定义了依赖关系,所以没有问题。


当查看画面底部的条形图时,可以判断是否在处理中。
处理完成后,再次执行之前的相同操作。


当转换完成后,将以 Kotlin 的形式显示出来。
如果是这样,就可以了。
在这个时候,顺便将目录名称改为“src > main > kotlin”会很好。
编辑 plugin.yml
编辑包含有有关所创建插件的信息的 plugin.yml 文件。
该文件位于 src > main > resources 目录中。
请各位自己查找有关.yml文件的语法等资料。
默认情况下,plugin.yml的内容如下所示。
name: KotlinTutorial
version: '${project.version}'
main: com.waigoma.kotlintutorial.KotlinTutorialPlugin
api-version: 1.18
如果继续这样下去,因为没有写作者信息,所以需要补充上。
使用 “author” 来表示作者信息。
如果存在多位作者,则可以通过写作:
authors: [authorA, authorB]
来记录多位作者。
追加的话,就是这样的感觉。
name: KotlinTutorial
version: '${project.version}'
main: com.waigoma.kotlintutorial.KotlinTutorialPlugin
api-version: 1.18
author: waigoma
构建
那么现在我们就进行实际的构建,开始制作一个 .jar 文件吧!
从这里开始,进行将.jar文件输出的设置。
建筑设置


构建执行
到了这一步以后就轻松了。


当出现这样的界面时,点击插件名:jar > Build。
然后,执行构建并输出jar文件。
构建完成后,输出文件被放置在artifacts > plugin名_jar目录中。
确认动作
最后要进行操作确认。
即使以为已经成功构建了!但是在服务器上运行不起来!这种情况很常见,所以要认真确认一下!
让我们将刚刚构建并导出为jar文件的插件复制一份。然后,就像其他插件一样,只需将其粘贴到服务器的插件文件夹中即可完成准备工作。
那么,让我们尝试启动服务器吧!
如果在服务器日志中出现以下描述:[Server thread/INFO]: [KotlinTutorial] Enabling KotlinTutorial v1.0-SNAPSHOT,那么这证明已成功加载!

这样看来,它运作得非常顺利呢!
只要到了這個地步,插件開發的準備已經完美無缺。
現在,終於可以完全按照自己的想法進行編程了!
最终
到达这里的各位,辛苦了。
你觉得怎样呢?因为是第一次写文章并投稿,所以对于是否能够写得容易理解而感到有些不安。但是,写的时候意外地很有趣,所以觉得还不错吧。
如果有机会的话(是否有动力呢?),我想试着写些其他的东西。
非常感谢您一直以来的陪伴!祝您有一个愉快的Minecraft开发之旅!!!
文献引用
-
- Kotlinとは?
-
- 【Kotlin】Spigot プラグイン開発 チュートリアル
- 【Kotlin】Spigot プラグイン チュートリアル