Densyakunのブログ

Qiitaもやってます: https://qiita.com/Densyakun

【Spigot】Bukkitプラグインの作り方講座 - プラグインの作成(Eclipse)

 

Bukkitプラグインを作る

次に、実際に「Bukkitプラグイン」を作っていきます。

この手順はプラグインを作るたびに行いますので、覚えてください。

 

 

プロジェクトの作成

まず、eclipseでプロジェクトを作成します。

 

私はmavenやgradleについてよく知らないので、

この記事ではそれらを使用せず、より簡単なeclipseでの方法を紹介します。

 

上のメニューから ファイル>新規>Java プロジェクト を押すか、又は下の画像のようにアイコンの▼を選択して下さい。

f:id:Densyakun:20180211183836p:plain

アイコンを選択したら「Java プロジェクト」を選択して下さい。

f:id:Densyakun:20180211183946p:plain

 

「新規 Java プロジェクト」画面が出てくるので、お好みでプロジェクト名を入力して下さい。

 

プログラミングをしているとついプロジェクトが増えてしまうので、

他のプロジェクトを判別できる名前にしておくと便利です。

f:id:Densyakun:20180211183956p:plain

 

プロジェクト名を入力したら完了を押し、プロジェクトを作成します。

 

f:id:Densyakun:20180211184106p:plain

作成したプロジェクトは左側の「パッケージ・エクスプローラー」に表示されています。

プロジェクトの中には「src」(ソースフォルダ)と「JRE システム・ライブラリー」があります。

ソースフォルダには自分の作成した「ソース」を入れておくフォルダです。

JRE システム・ライブラリー」は簡単に言うとJavaです。特に気にしなくて大丈夫です。

 

 

 

ビルドパスの設定

このままではプロジェクトはただのJava プロジェクトでしか無いので、

Bukkit(Spigot)を読み込む必要があります。

プロジェクトを右クリックして下の方にある「Windows エクスプローラ」を選択すると、プロジェクトのフォルダがWindows標準のエクスプローラーで開かれます。

 

プロジェクトのフォルダの中には「bin」や「src」フォルダがあります。

プロジェクトのフォルダの中に「lib」と言うフォルダを作成して下さい。

そしたらその「lib」フォルダの中に先程ダウンロードしたサーバーjarをコピーします。

eclipseで見てみると、サーバーjarが反映されず表示されていないため、F5キーを押して反映させます。(その際にプロジェクトを選択して下さい)

そしたらeclipseからlibフォルダの中のサーバーjarを右クリックして、 ビルドパス>ビルドパスに追加 を押します。

これでプロジェクトでBukkit(Spigot)が使えるようになりました。

 

 

パッケージの作成

ここからが本番です。次にパッケージを作成します。

 

パッケージにはクラスファイルなどのプログラムを入れておくフォルダのことです。
Javaのパッケージについてはこちらをご覧ください:
https://ja.wikipedia.org/wiki/%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8_(Java)

 

srcフォルダを右クリックして、 新規>パッケージ を選択します。

 

パッケージの名前ですが、

一般的に、自分のサイトなどのアドレスを逆にしたもの(「densyakun.github.io」であればio.github.densyakun)にプラグイン名を付けたものが多いです。(io.github.author.pluginといった感じです。author=作者

また、パッケージ名はできれば全て小文字にして下さい。Javaの制約です

 

プログラミングをしているとパッケージが増えていきますので他のとかぶらないように名前を付ける必要があります。

私はプラグイン開発以外にも色々やっているので、io.github.densyakun.bukkit.pluginといった感じにしています。

完了を押すとsrcフォルダの中にパッケージが作成されます。

 

 

クラスの作成

次にパッケージの中にクラスを作成します。

先程作ったパッケージを右クリックして、 新規>クラス を選択します。

 

クラスの名前はお好みで大丈夫です。(ここでは「Main」とします。クラス名の頭文字は大文字にして下さい。Javaの制約です。メインクラスの名前はプラグイン名にするのがおすすめです)

完了を押すとパッケージの中にクラスファイルが作成され、画面中央の内蔵テキストエディタで作成したクラスファイルが編集できます。

 

すでにこのようなプログラムが書かれているはずです。
(プログラミングの基礎知識が必要です。分からない方はJavaを少し勉強して下さい)

package io.github.author.bukkit.testplugin;

public class Main {
	
}

 

これから書く内容の完成形です。めんどくさい方はコピペして下さい。

package io.github.author.bukkit.testplugin;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
	
	@Override
	public void onEnable() {
		System.out.println("プラグインが有効になりました");
	}
	
	@Override
	public void onDisable() {
		System.out.println("プラグインが無効になりました");
	}
}

 

まずMainクラスにJavaPluginクラスを継承します。

public class Mainpublic class Main extends JavaPluginに書き換えて下さい。

すると、JavaPluginがインポートされていないため "JavaPlugin" に赤い下線が表示されエラーが出ています。

その場合はJavaPluginにカーソルを合わせて「JavaPluginをインポートする」を選択して下さい。eclipseの便利な機能です。

 

 

次はMainの中にカーソルを置き、Ctrl+Spaceを押すとコンテンツ・アシストが表示されます。こちらもeclipseの便利な機能です。

onEnable()を選択してonEnable関数を作成して下さい。

そしたらもう一度、コンテンツ・アシストを表示してonDisable関数も作成して下さい。

onEnable関数とonDisable関数の中に自動生成されたもの(super.onEnable()、super.onDisable()含む)は削除して、

onEnable関数の中にはSystem.out.println(“プラグインが有効になりました”);

onDisable関数の中にはSystem.out.println(“プラグインが無効になりました”);を書いて下さい。

これでクラスは完成です。

 

 

plugin.ymlの作成

次に「plugin.yml」を作成します。


srcフォルダを右クリックして、 新規>ファイル を選択します。

ファイル名を”plugin.yml”にして完了を押します。

すると画面中央の内蔵テキストエディタにplugin.ymlが表示されます。

ちなみにymlはYAMLと言う文法で書きます。

 

plugin.ymlに以下の文章を入力して下さい。

name: プラグイン名
main: パッケージ.メインクラス
version: バージョン
author: 作者名
description: 説明

 

記入例:

name: TestPlugin
main: io.github.author.bukkit.testplugin.Main
version: 0.1
author: Author
description: Test Plugin

 

nameにはプラグイン名、

versionにバージョンとauthorに作者名、

descriptionにプラグインの説明を書いて下さい。

mainにはパッケージ名.メインクラスを書きます。上の記入例はパッケージがio.github.author.bukkit.testpluginでメインクラス(先ほど作成したクラス)が「Main」である場合の例です。

name、main、version以外は省略可能です。

plugin.ymlについてはこちらをご覧ください:https://bukkit.gamepedia.com/Plugin_YAML

 

 

 

Jarファイルの作成

plugin.ymlが完成したら、これでプラグインが動くようになりました。


次はプラグインをビルドして JARファイル を作成します。

プロジェクトを右クリックして、 エクスポート を選択して下さい。

JAR ファイル を押して下さい。こんな画面が出てきます。

f:id:Densyakun:20180211184121p:plain

 

右上の .classpath と .project のチェックを外してエクスポートから除外して下さい。

このファイルはeclipseのファイルで、プラグインには必要ありません。

左側でプロジェクトを開き、中にあるlibフォルダもチェックを外して除外して下さい。

これは、エクスポートする際には必ず確認して下さい。

 

エクスポート先をサーバーのpluginsフォルダの中にファイルを作成するようにして、

完了を押すとjarファイルが作成されます。

 

 

 

プラグインを動かす

次にサーバーを起動します。

サーバーが開いている場合は /reload コマンドを実行して下さい。

 

f:id:Densyakun:20180211184210p:plain

このようにログに「プラグインが有効になりました」と表示されていれば成功です。

次にサーバーにログインします。

接続元と接続先が同じPCである場合はサーバーアドレスを「localhost」にすることで接続できます。

 

 

/plコマンドを入力して、プラグイン一覧に作成したプラグインが追加されていれば完成です。

f:id:Densyakun:20180211184224p:plain

 

/version [プラグイン名] と入力するとプラグインのバージョンや説明文などが見れます。

 

今度はサーバーを閉じてみましょう。

 

f:id:Densyakun:20180211184320p:plain

このように「プラグインが無効になりました」と表示されていれば完成です。

 

おわりに

これでプラグインを作ることが出来ました。

ここまで手順通りに行い、簡単にできたと思います。

実際に作ったプラグインが動いているのを見ると達成感を感じますね。

 

次は、作成したプラグインをいじって、機能を追加していきましょう!

f:id:Densyakun:20180211184259p:plain

 

記事一覧に戻る