ガイド

Paperプラグインの作り方

2026年10月7日に更新

Paperは、プラグイン向けに最も使われているMinecraftサーバーソフトウェアです。Spigotのプラグインが動き、その上に、より大きく高速なAPIが加わります。Paperプラグインは、paper-apiに対してコンパイルされるJava(またはKotlin)のプロジェクトです。手作業で作る場合と、AIにビルドしてもらう場合で、必要なものを説明します。

出発点になる例です。

Codexeでこれを生成

手順

  1. 1.Minecraftのバージョンを選ぶ

    サーバーで動いているバージョンを使います。それによってJavaのバージョンが決まります。1.20.5より前はJava 17、1.20.5以降はJava 21、26.xはJava 25です。

  2. 2.プロジェクトを作る

    そのバージョン用のpaper-apiの依存関係を持つGradleまたはMavenのプロジェクトです。依存関係はPaperMCのリポジトリから、provided/compileOnlyのスコープで指定します。

  3. 3.メインクラスを書く

    JavaPluginを継承するクラスで、onEnable()でコマンドとリスナーを登録します。

  4. 4.サーバーにプラグインを説明する

    plugin.yml(name、version、main、api-version、commands、permissions)。Paperには独自の読み込みルールを持つpaper-plugin.ymlもあります。

  5. 5.ビルドしてテストする

    .jarをビルドして、Paperテストサーバーのplugins/フォルダに入れ、起動して、コンソールにエラーがないか確認します。

PaperとSpigotのどちらですか?

Spigot APIで書かれたコードはPaperで動きますが、その逆は動きません。Paperには、Spigotにないイベントやメソッド(Adventureのテキストコンポーネントや多くの非同期APIなど)が追加されています。サーバーがPaperならPaper向けに、Spigotサーバーでも動かす必要があるならSpigot向けに書いてください。

手早い方法

CodexeでBukkit/Spigot/Paperのプラグインを選び、リクエストに「Paper」とバージョンを書いて、内容を説明します。Codexeがプロジェクトと適切なJavaのバージョンを用意し、コンパイルし、ビルドエラーを修正して、プラグイン入りのPaperテストサーバーに参加できるようにします。

よくある問題

  • UnsupportedClassVersionError: サーバーで動いているものより新しいJavaで、プラグインがコンパイルされています。
  • NoSuchMethodError / NoClassDefFoundError: サーバーのバージョンに存在しないAPIをプラグインが使っているか、依存関係が.jarにシェーディングされていません。
  • プラグインは読み込まれるのにコマンドが何もしない: コマンドがplugin.ymlにないか、エグゼキューターが登録されていません。

よくある質問

PaperプラグインはPurpurやFoliaで動きますか?

PurpurはPaperのフォークなので、Paperのプラグインがそのまま動きます。Foliaはスレッドの扱いが変わるため、Foliaで動かすには、リージョンスケジューラー向けにプラグインを書く必要があります。

PaperプラグインをKotlinで書けますか?

はい。Codexeは、同じPaper API向けに、build.gradle.ktsを使ったKotlinのGradleプロジェクトを生成できます。

今すぐPaperプラグインを作る

このプロンプトは、そのまま送信できる状態で開きます:

“Bountiesという名前のPaper 1.21.4プラグイン: Vaultのエコノミーを使った/bounty set <player> <amount>、倒した人が報酬を受け取る、/bounty listで上位10件を表示、懸賞金は再起動しても保存される、メッセージはconfig.ymlに置く。”

Codexeでこれを生成
Paperプラグイン(Minecraft)の作り方 | Codexe