ガイド
プラグインでカスタムアイテムを作る方法
2026年10月18日に更新
カスタムの剣、杖、鍵、ツールは、プラグインで特に人気の機能です。プラグインはゲームに完全に新しいアイテムを追加することはできませんが、バニラのアイテムに名前、説明文、隠しタグを付け、プレイヤーが使ったときに反応させることはできます。プレイヤーは通常のゲームで参加でき、MODは不要です。
アイテムを自分のものに変えてください。
Codexeでこれを生成手順
1.アイテムを書き出す
アイテムごとに、元になる素材、表示名、説明文の行、効果を書きます。「右クリックでファイヤーボールを撃つ、クールダウン5秒の、Fire Wandという名前のブレイズロッド」で、アイテムの指定としては十分です。
2.PersistentDataContainerでタグを付ける
fire_wandのようなIDを、NamespacedKeyを使ってアイテムのPersistentDataContainerに保存します。プラグインは名前ではなくこのタグでアイテムを見分けるので、金床で名前を変えてもコピーは作れません。3.能力を書く
それぞれの能力はイベントリスナーです。右クリックには
PlayerInteractEvent、攻撃にはEntityDamageByEntityEvent、ツールにはBlockBreakEventを使います。クールダウンはプレイヤーごと、アイテムごとに付けます。4.入手方法を決める
管理者用の
/giveコマンド、クラフトレシピ、ショップ、モブのドロップ、クレートの報酬など。5.すべてを設定で変えられるようにする
名前、説明文、ダメージ、クールダウン、レシピを
config.ymlに置けば、ビルドし直さずにアイテムのバランスを調整できます。6.ビルドしてすべてのアイテムを試す
Codexeにプラグインをコンパイルさせ、「今すぐ試す」でテストサーバーに参加して、各アイテムを自分に渡して使ってみます。
名前ではなくタグを使う理由
表示名や説明文で判定するのは典型的な間違いです。金床があれば、どのプレイヤーでも棒の名前を「Fire Wand」に変えられます。PersistentDataContainer(Minecraft 1.14以降)は、プレイヤーが編集できないデータをアイテムに保存します。アイテムの一部なので、再起動、チェスト、取引をまたいでも残ります。
1.8から1.13にはPersistentDataContainerがありません。プラグインはライブラリ経由のNBTか、隠しの説明文マーカーを使います。リクエストにバージョンを書けば、Codexeはそのバージョンで使える方法で書きます。
能力とその元になるイベント
| 能力 | イベント | メモ |
|---|---|---|
| 右クリックの能力 | PlayerInteractEvent | 手を確認する。手ごとに1回ずつ発火する |
| 攻撃時の追加ダメージや効果 | EntityDamageByEntityEvent | 攻撃者がアイテムを持ったプレイヤーか確認する |
| 範囲採掘ツール | BlockBreakEvent | WorldGuardなどの保護プラグインを尊重する |
| 持っている間のパッシブ効果 | 繰り返しタスクまたは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でこれを生成