Spigotプラグイン開発のサンプル
まずはmavenプロジェクトを作成する
アーキタイプ maven-archetype-quickstart は、mavenのサンプルプロジェクトを生成するためのもの
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4
groupId
(プラグインのidentifier) を聞かれるので、入力する ここでは me.enchan.hello_world
とした
Define value for property 'groupId':
artifactId
を聞かれるので、入力する ここでは HelloWorld
とした
Define value for property 'artifactId':
バージョンを聞かれる 問題がなければデフォルトのままでよいと思う
Define value for property 'version' 1.0-SNAPSHOT:
パッケージ名も同様
Define value for property 'package' me.enchan.hello_world:
ここまで進むと生成されるプロジェクトの情報が表示され、確認を求められる 問題がなければ進む
Confirm properties configuration:
groupId: me.enchan.hello_world
artifactId: HelloWorld
version: 1.0-SNAPSHOT
package: me.enchan.hello_world
今回はテストコードは使用しないので、JUnitの依存関係を削除する
diff --git a/pom.xml b/pom.xml
index 69ae80d..b52cbf7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,12 +18,6 @@
</properties>
<dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
mavenリポジトリにSpigotをインストールし、Spigotのチュートリアルを参考にしつつプロジェクトに依存関係を追加する
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.18.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
src/main/resources
に plugin.yml
を追加する
main: me.enchan.hello_world.App
name: hello_world
version: "0.1.0"
api: 1.16.2
api-version: "1.17"
プラグインの基礎を書いていく
org.bukkit.plugin.java.JavaPlugin
をimportし、extendする
package me.enchan.hello_world;
import org.bukkit.plugin.java.JavaPlugin;
public class App extends JavaPlugin {
@Override
public void onEnable() {
this.getLogger().info("Plugin enabled");
}
@Override
public void onDisable() {
this.getLogger().info("Plugin disabled");
}
}
ここまできたら、プラグインをビルドしてみる
mvn clean install
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.923 s
[INFO] Finished at: 2024-04-25T22:47:20+09:00
[INFO] ------------------------------------------------------------------------
成功すると、target
ディレクトリ配下にプラグインjarが生成される
% tree -L 1 target
target
├── HelloWorld-1.0-SNAPSHOT.jar <--- これ
├── classes
├── generated-sources
├── maven-archiver
└── maven-status
このjarファイルをサーバの spigot.jar
と同じディレクトリにある plugins
内に投入し、
サーバを起動するか /reload
を実行することでプラグインが動き出す
This repository is published under MIT License.