【改】Bukkit・Spigotプラグインを作る方法<準備編>
こんにちはてれるんです。
誰かさんに書けって言われた気がするので書きます。ハイ。
今回は準備編です。他の編が見たい方はこちらのカテゴリからご覧ください。
総合開発環境、IDE
IDEとは
まずIDEってなんぞやって方にご説明します
天下のウィキペディアにはこんな事が書かれてます。そのままです。
プラグインを作るのにJavaという言語を使って書くのですが(Kotlinなど他の言語はありますが今回は省略)その書くためのソフト、それがIDEです。
今回は JetBrains社 が開発しているIDE、 IntelliJ を使用していきます。
IntelliJのインストール
IntelliJはこちらからダウンロードします
右上のダウンロードをクリックしましょう
右の「コミュニティ」のダウンロードをクリックしましょう。
「Ultimate」と「コミュニティ」の違いですが、基本的に変わりはありません。学割を使うと無料で使えます。オヌヌメ。
ダウンロードしたファイルを実行しましょう
インストールはこんな感じでやってください。パスとか変更したければしてどうぞ。途中のチェックは全部つけとけば問題ないです。変えたい場合はこれも変えてどうぞ。
「Reboot now」に選択を入れると再起動されます。再起動しておきましょう。
IntelliJの初期設定
再起動が終わってIntelliJを起動するとこのような画面の後ウィンドウが開きます
初めに設定をインポートするか聞かれるので「Do not import settings」を選択しましょう。次はテーマを選択します。好きな方を選択して後はすべて「Next」で大丈夫です。
プラグインを作るためのプラグインを入れるために「Configure」を押して「Plugins」を押しましょう。
新しいウィンドウが出てくるので、「Marketplace」タブの検索欄に「Minecraft」を検索して「Minecraft Development」を選択して「Install」を押しましょう。サードパーティ製のプラグインを入れたときの警告が出ますが「Accept」をクリックしましょう。
また、日本語化したい方はまた検索欄に「Japanese」と入力して「Japanese Language Pack EAP」もインストールしましょう。
インストールしたらIDEを再起動しましょう。
まずはプロジェクトを作成してみよう
起動するとこんな画面になります。
View post on imgur.com
プロジェクトを作成します。
「新規プロジェクトの作成」から「Minecraft」タブから作りたいプラグインのサーバークライアントを選択します。今回は「Spigot」を選択します。「Project SDK」は1.16以前だと1.8(Java8) 、1.17はJava 16、1.18はJava 17にしてください。それ以外の場合は無難なところとして1.8にしておきましょう。「Next」をクリックしてください。
「GroupId」はプロジェクトを識別するIDです。他の物と被らないようにします。例として自分のドメインやメールアドレスを逆にしたものがあります。今回は「com.example.plugin.tutorial」にしておきます。
「ArtifactId」はプロジェクト名になります。
「Version」は好きな値にしてもらって結構です。「Next」をクリック。
次の画面はプラグインの詳細、つまり「/help」コマンドを打った時や、前提プラグインの設定ができますが、今回は説明の「Description」と作成者の「Auhors」を入力しました。Minecraftのバージョンを変えたいときはここで変えてね。「Next」をクリック。
次はファイル保存パスとファイル名を設定します。任意のものにしてください。「Finish」を押して完了。
起動確認用の簡単な処理を書いてみよう
まずはIDEの使い方から。
左側のファイルの階層を見てみましょ。作ったプロジェクト名のものを展開すると色々出てきます。プログラムは「src/main/java」以下に書いていきます。今開いているファイル(右側のコードを書く画面)は先ほど指定した「GroupId」の下にある「TutorialPlugin」というクラスです。基本的にJavaはこのクラスと呼ばれるファイルにコードを書いていきます。「resources」の下にある「plugin.yml」は先ほど指定した「Description」やメインクラスのパスが書いてあります。
右上の緑色の三角を押すことで「ビルド」と言って書いたコードをjarファイルに変換できます。
package com.example.plugin.tutorial.tutorialplugin;
import org.bukkit.plugin.java.JavaPlugin;
public final class TutorialPlugin extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("プラグインが開始しました");
}
@Override
public void onDisable() {
getLogger().info("プラグインが停止しました");
}
}
メインクラスにこんな感じで書いてみました。
クラスの括弧の中にメソッドという処理を書く括弧がありまして、その中にメッセージを表示するという処理が書かれてます。
「onEnable」メソッドはプラグインが起動したときに読み込まれるメソッド、「onDisable」メソッドはプラグインが停止したときに読み込まれるメソッドです。
「getLogger()」とすることで「Logger」クラスが取得できるので、「Logger」クラス内にある「info()」メソッドを呼び出してメッセージを出力しているという仕組みです。
正直、書いているうちに学ぶうちになんとなくわかってきます。恐らく。
じゃあビルドしてみましょう。緑三角をクリックするとビルドできます。
ビルドが完了するとこんな感じでお知らせしてくれます。終わったらプロジェクトを作った時に指定したパスのフォルダの中の「target」を開いてね
「target」を開くと、色々ファイルがありますが、「TutorialPlugin-1.0-SNAPSHOT.jar」がプラグインです。頭に「original-」ってついてるのは副産物だと思ってください。この「TutorialPlugin-1.0-SNAPSHOT.jar」をサーバーの「plugins」にぶち込んで起動すると...
ありました。動いてますね。ヤッタ~
最後に
てな感じで取り敢えず準備編はここまでとさせて頂きます。
基本的にプラグイン以外にもプログラミングは慣れれば簡単です。プログラミング言語によって色々考え方が違ったりしますがなんとなくこんな感じなんだなあっていうイメージをつかんでくれればうれしいです。
Javaわからんよ~って方、多いと思います。頑張って慣れていきましょう。今はどっかに教えてもらいに行くよりもネットで教わることが出来る時代です。いろんなサービスや本がありますので、分かり易いなって思ったものを見つけてみてください。ちょっと慣れてきたら簡単なプラグインのソースコードを見て構造を見てみるのもいいかも。
次回からはガンガンJava書いていくので、ついていけなくなった方はTwitterとかでDMいただければできる限りでお答えします。今回の内容も含めてね。
ではまた次回お会いしましょう。明日テスト、頑張ります。てれるんがお送りしましたー(*'▽')
動画でご覧になりたい方はこちらからどうぞ