4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

法政大学情報科学部Advent Calendar 2021

Day 22

Kotlin で始める Minecraft Plugin 開発

Last updated at Posted at 2021-12-21

はじめに

この記事は 法政大学情報科学部 Advent Calendar 2021 22日目の記事です。

こんにちは、情報科学部の waigoma です。もうすぐ年が変わりますね。とても早いです。
今回は、初めて書く記事ということもあり、自分に一番なじみのある、Spigot の Plugin 開発について解説していきたいと思う。

Java 版 Minecraft サーバーの Plugin を作って Kotlin を勉強しよう!
今回、Plugin を作る!と言っても、超簡単なことで超初心者向けである。ということを先に記しておく。

ここで、Kotlin って何?っていう人もいると思うの超簡単に説明しておく。Kotlin は、Java と完全互換性を持つ言語で、コードを簡潔に書くことができる。しかし、比較的新しい言語なので調べてもあまり出てこないというのが欠点である。

今回作成したプロジェクトは、この Github にあげておく。

それでは早速開発してみましょう!

環境

  • Spigot 1.18.1
  • Intellij IDEA Ultimate 2021.3
  • JDK 11.0.11

このような環境を使う。導入方法などはここでは解説しないので、各自調べて導入しましょう!(調べる力も大事!)

Minecraft Development プラグイン導入

  1. Intellij IDEA を起動し、左側のタブから Plugins を選択する。
    image-20211221153736214.png

  2. Type / to see options と書かれている検索ボックス内に "Minecraft" と入力する。すると、"Minecraft Development" という Plugin が表示されるので、これを Install する。(この画像はインストール後)
    image-20211221160227088.png

    これで、Minecraft Development プラグインを導入することができた。

開発スタート!

必要なものはそろったので実際に開発を始めていく!

プロジェクトの作成

  1. Intellij IDEA の左側のタブから Projects を選択する。そして、New Project を選択する。
    image-20211221160747997.png

  2. 新しいウィンドウが立ち上がるので、左側のタブから Minecraft を選択し、Spigot Plugin にチェックを入れる。
    image-20211221162131883.png
    ※ ここで、Minecraftが表示されない場合はプラグインが入っているかどうかを確認しよう!

    そして、下の方にある Next をクリック。

Build Settings

  1. ビルド (プログラムをコンパイルし1つのファイル (.jar) にすること) の設定を行う。

    ここでの設定項目は以下の通り。

    項目 説明
    GroupId 団体やグループなどのユニークなID com.example
    ArtifactID ビルドした後に書き出されるファイル名 (プラグイン名) Sample
    Version プラグインのバージョン 0.0.1

    Maven を使用してビルドするのでそのままでおk。
    image-20211221163107311.png

    入力が終わったら Next をクリック。

Spigot Settings

  1. Spigot Settingsでは、プラグイン名やメインクラス名の指定を行う。Minecraftのバージョンもここで指定するので、導入したいMinecraftのバージョンにあわせると良いでしょう。特になければ最新版を選択すればOK。

    今回は、現時点 (2021/12/21) で最新バージョンの 1.18.1 を選択する。

    Main Class Name は "Plugin名 + Plugin" が良い。命名規則をここでは深く触れないが、プログラミングをしていく上で命名規則は大切であるので、ぜひ調べてみてほしい。
    image-20211221170542091.png

    入力が終わったら Next をクリック。

ディレクトリの場所指定

  1. ついに最後の設定画面。

    ここでは、ディレクトリの場所を指定する。プロジェクトには直接関係ないため、自由な場所に配置しておk。

    Project name は、Intellij IDEA で表示される表示名。
    Project location は、ディレクトリの場所。

    わかりやすい名前を付け、わかりやすい場所に配置すると良いでしょう。
    image-20211221171143656.png

    入力が終わったら Finish をクリック。

    このようなダイアログが出ても問題ない。ディレクトリ存在しないけど作る?と聞いているだけなので、問題がなければ Create をクリック。
    image-20211221171342978.png

    しばらく待ち、このような画面が表示されていれば成功!おめでとう!
    image-20211221172223094.png

まだ設定が残っている!?

「これで Kotlin で開発できる!」と、言いたいところだがまだもう少しだけ設定が残ってる。

頑張りましょう!

Java から Kotlin に変換する

Spigot は Java で作成されているので、プロジェクトを作成した際のテンプレートも Java で作成されてしまう。そのため、Kotlin に変換する必要がある。

だが、安心してほしい。全て Intellij IDEA の機能で自動変換してくれるのだ!

左側のファイルが表示されているメニューの src > main > java を選択。
選択したら、上部メニューバーの Code > Convert Java File to Kotlin File をクリック。
image-20211221173216434.png

このようなダイアログが現れたら All modules を選択し、OK をクリック。
image-20211221173425309.png

すると、Kotlin を使うための依存関係が正しく定義されていないため、このような画面に飛ばされる。
しかし、遷移した画面ではすでに依存関係を正しく定義してくれた後なので問題ない。

更新するため、右上の方のボタンをクリック。
image-20211221173534770.png
こんなやつ。

しばらく処理が終わるまで待機。
image-20211221174132379.png

画面下側のバーを見ると処理中かどうか判断できる。

処理が終わったらもう一度、先ほどと同じことをする。

左側のファイルが表示されているメニューの src > main > java を選択。
選択したら、上部メニューバーの Code > Convert Java File to Kotlin File をクリック。
image-20211221174419780.png

すると、今度はこのような表示が出てくるので Yes をクリックする。
これは、Kotlin に変換するかどうかの最終確認。
image-20211221174627365.png

変換が完了すると、このように Kotlin に変換された状態が表示される。
このようになっていればおk。

このとき、ついでに ディレクトリ名を変更しておくと良いだろう。
src > main > java これを src > main > kotlin に変更すると良き。

plugin.yml の編集

作った Plugin に関する情報がかかれている plugin.yml を編集する。
このファイルは、src > main > resources ディレクトリに配置されている。

.yml ファイルの記法などは各自調べてほしい。

plugin.yml のデフォルトはこのようになっている。

plugin.yml
name: KotlinTutorial
version: '${project.version}'
main: com.waigoma.kotlintutorial.KotlinTutorialPlugin
api-version: 1.18

このままでは、作者情報がかかれていないのでそれを追記する。
作者情報は author を使用する。

author が複数いる場合は、
authors: [authorA, authorB]
と記述することで、author を複数記述できる。

追記するとこんな感じ。

plugin.yml
name: KotlinTutorial
version: '${project.version}'
main: com.waigoma.kotlintutorial.KotlinTutorialPlugin
api-version: 1.18
author: waigoma

ビルド

それでは実際にビルドして、1つの .jarファイル を作成していきましょう!

ここから、.jar に書き出すための設定をする。

ビルド設定

まず、上部メニューバーから File > Project Structure を選択。
すると、新しいウィンドウが現れるので、左側のタブから Artifacts を選択。
image-20211221180609555.png

こんな画面になっていると思う。
左上の方の + をクリックする。
image-20211221180851839.png
そして Jar > From modules with depedencies を選択。
image-20211221180930169.png
このようなウィンドウが表示されたら、何もせずに OK をクリック。
image-20211221181031563.png
このようになったら、右下の Apply をクリックして、OK をクリックする。

ビルド実行

ここまで来たら後は楽。

image-20211221181311184.png
上部メニューバーから Build > Build Artifacts をクリック。

image-20211221181456257.png

このような画面が出てくるので、 plugin名:jar > Build をクリック。
すると、ビルドが実行され、jar ファイルが出力される。

出力場所は、out > artifacts > plugin名_jar ディレクトリに配置されている。
これでビルドが終了した。

動作確認

最後に動作確認を行う。
ビルドできた!と思ってもサーバーで動かない!なんてことは普通にあり得る話なので、きちんと確認しましょう!

先ほどビルドし、jar ファイルとして書き出された Plugin をコピーしましょう。
そして、他のプラグインと同様に、サーバーの plugins フォルダにコピペすれば準備完了。

それではサーバーを起動してみましょう!

サーバーログに [Server thread/INFO]: [KotlinTutorial] Enabling KotlinTutorial v1.0-SNAPSHOT このような記述があれば、正常に読み込みが完了したという証拠だ!

ついでに about plugin名 このコマンドを入力してみましょう!すると、、、
image-20211221183734306.png

(ノ´▽`)ノ オオオオッ♪
この通り、ちゃんと動作していますね!

ここまでくれば、プラグイン開発の準備は完璧に整った。
これで、ついに自分の思うがままプログラミングできる!

最後に

ここまで来た方。お疲れさまでした。

どうだったでしょうか。初めて記事を書いて投稿したので、皆さんがわかりやすいように書けているか正直不安ではある。が、書いてて案外楽しかったのでよかったかなと思う。

また機会 (やる気...?) があれば、他のことも書いてみようかなと思う。

ここまでお付き合いいただき、ありがとうございました!
それでは、良い Minecraft 開発ライフを!!!

参考文献

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?