ガイド

プラグインでカスタムアイテムを作る方法

2026年10月18日に更新

カスタムの剣、杖、鍵、ツールは、プラグインで特に人気の機能です。プラグインはゲームに完全に新しいアイテムを追加することはできませんが、バニラのアイテムに名前、説明文、隠しタグを付け、プレイヤーが使ったときに反応させることはできます。プレイヤーは通常のゲームで参加でき、MODは不要です。

アイテムを自分のものに変えてください。

Codexeでこれを生成

手順

  1. 1.アイテムを書き出す

    アイテムごとに、元になる素材、表示名、説明文の行、効果を書きます。「右クリックでファイヤーボールを撃つ、クールダウン5秒の、Fire Wandという名前のブレイズロッド」で、アイテムの指定としては十分です。

  2. 2.PersistentDataContainerでタグを付ける

    fire_wandのようなIDを、NamespacedKeyを使ってアイテムのPersistentDataContainerに保存します。プラグインは名前ではなくこのタグでアイテムを見分けるので、金床で名前を変えてもコピーは作れません。

  3. 3.能力を書く

    それぞれの能力はイベントリスナーです。右クリックにはPlayerInteractEvent、攻撃にはEntityDamageByEntityEvent、ツールにはBlockBreakEventを使います。クールダウンはプレイヤーごと、アイテムごとに付けます。

  4. 4.入手方法を決める

    管理者用の/giveコマンド、クラフトレシピ、ショップ、モブのドロップ、クレートの報酬など。

  5. 5.すべてを設定で変えられるようにする

    名前、説明文、ダメージ、クールダウン、レシピをconfig.ymlに置けば、ビルドし直さずにアイテムのバランスを調整できます。

  6. 6.ビルドしてすべてのアイテムを試す

    Codexeにプラグインをコンパイルさせ、「今すぐ試す」でテストサーバーに参加して、各アイテムを自分に渡して使ってみます。

名前ではなくタグを使う理由

表示名や説明文で判定するのは典型的な間違いです。金床があれば、どのプレイヤーでも棒の名前を「Fire Wand」に変えられます。PersistentDataContainer(Minecraft 1.14以降)は、プレイヤーが編集できないデータをアイテムに保存します。アイテムの一部なので、再起動、チェスト、取引をまたいでも残ります。

1.8から1.13にはPersistentDataContainerがありません。プラグインはライブラリ経由のNBTか、隠しの説明文マーカーを使います。リクエストにバージョンを書けば、Codexeはそのバージョンで使える方法で書きます。

能力とその元になるイベント

能力イベントメモ
右クリックの能力PlayerInteractEvent手を確認する。手ごとに1回ずつ発火する
攻撃時の追加ダメージや効果EntityDamageByEntityEvent攻撃者がアイテムを持ったプレイヤーか確認する
範囲採掘ツールBlockBreakEventWorldGuardなどの保護プラグインを尊重する
持っている間のパッシブ効果繰り返しタスクまたはPlayerItemHeldEventアイテムをしまったら効果を外す
弓や発射物EntityShootBowEvent、ProjectileHitEvent発射物にタグを付けて、どこから来たかわかるようにする

テクスチャとモデル

プラグインが変えられるのはアイテムの働きで、見た目ではありません。独自の見た目にするには、プレイヤーがダウンロードするリソースパックが必要です。古いバージョンでは、アイテムにCustomModelDataの番号を持たせ、パックがその番号をモデルに対応付けます。1.21.2以降は、item_modelコンポーネントを使って、アイテムが自分専用のモデルを指定することもできます。パックがなければ、アイテムは独自の名前が付いた元の素材の見た目になりますが、多くのサーバーではそれで十分です。

説明の例

「MagicItemsという名前のPaper 1.21.4プラグイン。アイテムは3つで、それぞれPersistentDataContainerのIDでタグ付けする: Fire Wand(ブレイズロッド、右クリックでファイヤーボールを撃つ、クールダウン5秒)、Frost Blade(鉄の剣、攻撃すると3秒間の鈍化II)、Miner's Pick(ダイヤモンドのツルハシ、3x3を採掘するが、プレイヤーが建築できないWorldGuardの保護区域では無効)。magicitems.admin向けの/mi give <player> <item>。それぞれに定形レシピ。名前、説明文、クールダウン、レシピはconfig.ymlに置く。」

よくある質問

カスタムアイテムはプラグインとMODのどちら?

プレイヤーが通常のゲームで参加するならプラグインです。アイテムは、新しい動きをするバニラのアイテムになります。独自の描画を持つ本当に新しいアイテムやブロックが必要ならMODで、その場合はプレイヤー全員がインストールします。プラグインとMODの比較を参照してください。

ItemsAdderやNexoと一緒に使えますか?

プラグインをそれらに依存させることはできますが、どちらも有料プラグインです。Codexeのテストサーバーにはインストールできないため、それを必須とするプラグインはテストサーバーでは有効になりません。plugin.ymlに書かれた無料の依存プラグインは、テストサーバーに自動でインストールされます。

アップデート後にアイテムは使えなくなりますか?

PersistentDataContainerでタグ付けしたアイテムは、Minecraftのアップデート後もタグを保持します。能力のほうは、新しいAPIに合わせてビルドし直す必要があるかもしれません。プラグインのアップデートを参照してください。

カスタムアイテムを作る

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

“PersistentDataContainerでタグ付けした3つのアイテムを持つ、MagicItemsという名前のPaper 1.21.4プラグイン: Fire Wand(ブレイズロッド、右クリックでファイヤーボールを撃つ、クールダウン5秒)、Frost Blade(鉄の剣、攻撃すると3秒間の鈍化II)、Miner's Pick(3x3を採掘するダイヤモンドのツルハシ)。magicitems.admin向けの/mi give、それぞれに定形レシピ、名前、説明文、クールダウン、レシピはconfig.yml。”

Codexeでこれを生成
Minecraftプラグインでカスタムアイテムを作る方法 | Codexe