比較
データパックとプラグインの比較
2026年10月18日に更新
データパックは、バニラのMinecraftが読み込むJSONと.mcfunctionのファイルが入ったフォルダです。レシピ、ルート、進捗、コマンドを扱います。プラグインは、PaperやSpigotのサーバーが実行するJavaのコードです。多くのアイデアはどちらの方法でも実現でき、正しい選択は、どこで動かす必要があるかと、ロジックがどれだけ複雑かで決まります。
データパックに向いている例です。
Codexeでこれを生成並べて比較
| データパック | プラグイン | |
|---|---|---|
| 必要なもの | なし: バニラで十分 | Paper、Spigot、またはそのフォーク |
| シングルプレイ | はい | いいえ |
| 記述言語 | JSONとMinecraftのコマンド | JavaまたはKotlin |
| 得意なこと | レシピ、ルートテーブル、進捗、タグ、ワールド生成、コマンドによる仕組み | 引数付きのコマンド、GUI、エコノミー、データベース、イベント、権限 |
| イベントへの反応 | 限定的: 進捗、プレディケート、毎ティック実行されるファンクション | 数百種類のイベント: ブロックの破壊、チャット、ダメージ、インベントリのクリックなど |
| データの保存 | ワールド内のスコアボードとストレージNBT | ファイル、SQLite、MySQL、Javaで使えるものなら何でも |
| バージョン間 | 形式がよく変わり、パックの更新が必要 | APIが安定していて、多くのプラグインがそのまま動く |
| インストール先 | world/datapacks/ | plugins/ |
データパックのほうが向いている場合
- シングルプレイやバニラのサーバーで動く必要がある、またはプレイヤーがワールドのアドオンとして共有する。
- アイデアがほぼデータだけ: 新しいレシピ、変更したルート、進捗のツリー、独自のワールド生成。
- サーバーソフトウェアもJavaのビルドも一切使いたくない。
プラグインのほうが向いている場合
- 引数付きのコマンド、権限、GUI、ショップが必要。
- データをプレイヤーごとにファイルやデータベースに保存する必要がある、またはWebサイトやDiscordと共有したい。
- ロジックが多くのイベントに反応する、または毎ティック多くのファンクションを動かす必要があり、データパックではパフォーマンスに響く。
- ほかのプラグインを使う: Vault、LuckPerms、PlaceholderAPI、WorldGuard。
- Javaもビルドも使わずにサーバーのロジックを作りたいなら、中間の方法があります。Skriptです。
1つのサーバーで両方を使う
PaperとSpigotは、バニラと同じようにワールドフォルダからデータパックを読み込むので、サーバー全体でどちらか一方に決める必要はありません。よくある分け方は、レシピ、ルートテーブル、進捗、ワールド生成はデータパックに置き(ただのデータなので編集しやすい)、コマンド、GUI、エコノミー、プレイヤーごとに保存するものはプラグインに置く方法です。データパックは1つのワールドに属し、プラグインはサーバーのすべてのワールドに適用されることを覚えておいてください。
Codexeなら両方作れる
Codexeは両方を作れます。データパックは、準備完了になる前に本物のMinecraftサーバーで読み込まれ、ログでエラーが確認されます。プラグインはコンパイルされます。どちらも、自分のゲームから専用のテストサーバーで遊べます。ワールド生成を変えるデータパックには、新しく生成したワールドのサーバーが用意されるので、その地形を確認できます。データパックは1.20.1から26.3までのバージョンで読み込みテストが行われ、プラグインは1.8.8から26.3までを対象にできます。
よくある質問
データパックで新しいアイテムを追加できますか?
本当に新しいアイテムは追加できません。既存のアイテムに独自の名前、コンポーネント、モデル(リソースパックを使用)を付けることはできますが、コマンドでできる範囲を超える新しい動作は付けられません。
データパックはPaperサーバーで動きますか?
はい。Paperはバニラと同じようにワールドフォルダからデータパックを読み込むので、同じサーバーでデータパックとプラグインを使えます。
どちらが速いですか?
小さなものなら、どちらでも問題ありません。毎ティック全プレイヤーを確認するような重いティックファンクションは、1つのイベントを監視するプラグインよりも負荷がかかります。
後からデータパックをプラグインにできますか?
はい。ロジックをJavaで書き直せば可能です。Paperは両方を読み込むので、レシピ、ルートテーブル、進捗はプラグインと並べてデータパックのまま残すこともできます。
データパックかプラグインで作る
このプロンプトは、そのまま送信できる状態で開きます:
“Minecraft 1.21.4用のデータパック、名前空間は「hunt」: ゾンビ、スケルトン、クリーパー、エンダーマン、ウィッチ、エンダードラゴンを倒すと得られる6つの進捗からなる「Monster Hunter」進捗ツリー、それぞれ経験値を付与、キル数のスコアボードを追加するloadファンクション。”
Codexeでこれを生成