コンテンツへスキップ
プラットフォーム

SpigotとPaperのプラグイン

CodexeでBukkit、Spigot、Paperのプラグインを、JavaまたはKotlinで最高の形で作る方法。リクエストに書くこと、バージョン、plugin.yml、依存関係、ビルド、よくある問題。

更新日

このページの内容
  1. リクエストに書くこと
  2. Codexeが生成するもの
  3. バージョンとJava
  4. ビルドと検証
  5. インストール
  6. よくある問題

Bukkit/Spigot/Paperの種類では、PaperやSpigotとそのフォークで動くサーバープラグインを作ります。Java(Mavenプロジェクト)かKotlin(build.gradle.ktsを使うGradleプロジェクト)を選んでください。

プラグインをゲームで遊ぶには、今すぐ試すで専用のテストサーバーを起動してください。

リクエストを送ると、Codexeはプラグインの対象がどのMinecraftのバージョンかを、1.8.8から26.3の中から尋ねます。コードはそのバージョンのAPIとJavaのレベルに合わせて書かれ、テストサーバーもそのバージョンで動きます。2026年9月30日より前に作成されたプロジェクトは、ビルドファイルに書かれたバージョンのままです。

#リクエストに書くこと

  • サーバーソフトとバージョン: 「Paper 1.21.4」や「Spigot 1.20.1」など。PaperのAPIはSpigotより大きいです。Spigot向けに書いたコードはPaperでも動きますが、逆は動かないので、両方で使う必要があるならSpigotを頼んでください。
  • 引数、使える人、タブ補完を含めたコマンド。
  • デフォルト値(true、op、false)を含めた権限。
  • 編集できるようにしたいconfig.ymlのキー。
  • 保存方法: YAML、SQLite、MySQL、またはメモリ。
  • 連携: Vault、PlaceholderAPI、LuckPerms、WorldGuardなど。依存関係として追加されるよう、名前をはっきり書いてください。
Text
A Paper 1.21.4 plugin (Java) called Bounties.
- /bounty set <player> <amount>: takes money via Vault, adds it to the player's bounty.
- Killing a player with a bounty pays it to the killer.
- /bounty top shows the 10 highest bounties.
- Bounties stored in SQLite. Minimum bounty 100 (config.yml).
- Permission bounties.set (default true).
Text
A Paper 1.21.4 plugin in Kotlin called Bounties, same features as above.
Use Kotlin idioms (data classes, extension functions) but keep the Bukkit API usage standard.

#Codexeが生成するもの

  • 正しいAPIの依存関係を持つMavenプロジェクト(Java)またはGradleプロジェクト(Kotlin)。
  • JavaPluginを継承するメインクラスと、コマンド、リスナー、保存用のクラス。
  • メインクラス、api-version、コマンド、権限を含むplugin.ymlと、設定がある場合はconfig.yml。
YAML
name: Bounties
version: 1.0.0
main: eu.codexe.bounties.Bounties
api-version: '1.21'
depend: [Vault]
commands:
  bounty:
    description: Manage bounties
permissions:
  bounties.set:
    default: true

#バージョンとJava

CodexeはビルドファイルからMinecraftのバージョンを読み取り、Java 17(1.20.5より前)、Java 21(1.20.5以降)、Java 25(26.x)のいずれかでビルドします。バージョンを書かなかった場合は、Paper/SpigotのAPI 1.20.6が使われます。

#ビルドと検証

Codexeは準備完了にする前にプラグインをコンパイルし、JARにクラスとplugin.yml(またはpaper-plugin.yml)が含まれていることを確認します。プラグインのビルドは、通常1分もかかりません。コンパイルを参照してください。

#インストール

JARをダウンロードしてplugins/に入れ、サーバーを再起動し(/reloadは使わないでください)、起動時にコンソールにエラーが出ていないか確認します。

#よくある問題

症状考えられる原因
プラグインが読み込まれない、「main class not found」plugin.ymlのmain:がクラスと一致していません。チャットで修正を頼むか、手で名前を変えたあとなら確認してください。
古いサーバーで「Unsupported API version」プラグインがサーバーより新しいAPIを対象にしています。リクエストにサーバーの正確なバージョンを書いてください。
コマンドが何もしないコマンドがplugin.ymlにないか、プレイヤーに権限がありません。
VaultなどのNoClassDefFoundError依存するプラグインがサーバーにインストールされていません。
ビルドはできるが、機能がおかしな動きをするゲーム内での正確な動きをチャットで説明してください。検証がチェックするのはビルドで、ゲームプレイではありません。
SpigotとPaperのプラグイン | Codexe Docs