比較
Skriptとプラグインの比較
2026年10月18日に更新
Skript自体もプラグインです。on join:やcommand /spawn:のような、英語に近い言語で書かれた.skスクリプトを実行します。Javaプラグインは、サーバーのAPIと直接やり取りするコンパイル済みのコードです。Skriptは書くのも変えるのも速く、プラグインは動作が速くてできることも多いです。両方を使うサーバーもたくさんあります。
Skriptに向いている例です。
Codexeでこれを生成並べて比較
| Skript | Javaプラグイン | |
|---|---|---|
| 必要なもの | PaperサーバーにSkriptプラグイン(と必要なアドオン)。古いSkriptのバージョンはSpigotでも動いていた | Paper、Spigot、またはそのフォーク |
| 記述言語 | Skriptの英語に近い構文 | JavaまたはKotlin |
| ビルドの工程 | なし: ファイルを編集して/sk reloadを実行 | .jarにコンパイルし、サーバーを再起動 |
| パフォーマンス | ほとんどのサーバー機能には十分。重いループでは遅い | 速い: コンパイル済みのコード |
| 扱える範囲 | Skriptとそのアドオンが公開しているもの | サーバーのAPI全体と、あらゆるJavaライブラリ |
| エラー | リロード時に行番号付きで表示 | コンパイルエラー、実行時はスタックトレース |
| 共有や販売 | スクリプトはただのテキストで、同じアドオンに依存する | 対応するどのサーバーでも動く1つの.jar |
Skriptのほうが向いている場合
- 小さなサーバー機能: 独自のコマンド、参加メッセージ、キット、デイリー報酬、簡単なイベント。
- 頻繁に変更し、ビルドなしで数秒で変更を確認したい。
- スタッフがすでにSkriptを知っていて、スクリプトを保守している。
Javaプラグインのほうが向いている場合
- 多くのプレイヤーに対して頻繁に動く機能: 独自のモブAI、毎ティックのチェック、大きなマップやリスト。
- データベース、Web API、パケット、または複雑なアドオンなしではSkriptから扱えないライブラリが必要。
- 共有や販売をする、またはアドオンを管理できないサーバーで使われる。
- コードベースが大きくなる: Javaには型、IDE、テストがあり、大きなスクリプトにはそれがない。
アドオンは隠れた依存関係
Skriptでできることの多くは、SkBee(NBT、ボスバー、スコアボード)、skript-reflect(Javaのクラス)、skript-gui(メニュー)などのアドオンによるものです。アドオンを使うスクリプトは、そのアドオンがないと読み込みに失敗し、アドオンはSkriptとサーバーのバージョンに合っている必要があります。手間を比べるときは、それらを最新に保つ作業も数に入れてください。
CodexeでのSkriptとプラグイン
Codexeは両方を作れます。Skriptのプロジェクトは、準備完了になる前に、SkBee、skript-reflect、skript-gui、skript-yaml、Vault、EssentialsXを入れた、Skript 2.16.2搭載の本物のPaper 1.21.11サーバーで読み込まれます。ほかのアドオンが必要なスクリプトは、書き直されるのではなく、読み込みテスト未実施として表示されます。プラグインは、選んだバージョン向けにコンパイルされます。どちらもテストサーバーで試してテストプレイヤーに確認させることができ、スクリプトがSkriptの手に余るようになったら、チャットで頼めばプラグインに変えられます。
よくある質問
Skriptはパフォーマンスに悪いですか?
一般的なサーバー機能なら問題ありません。問題が起きるのは、重いループ、頻繁な定期イベント、大きな変数リストで、それらはJavaのほうが適しています。
Skriptをプラグインに変換できますか?
はい。Javaで書き直せば可能です。Codexeでは、プロジェクトのチャットで頼めばSkriptのプロジェクトをプラグインに変えられます。プロジェクトが新しいタイプ向けに書き直されます。
SkriptにはJavaの知識が必要ですか?
いいえ。Skriptの構文は英語のように読めます。Javaが役に立つのはskript-reflectを使うときだけです。
Skriptとプラグインは一緒に動かせますか?
はい。スクリプトはアドオンやVaultを通じてプラグインを使えます。手軽な機能はSkriptに、重い機能はプラグインに置いているサーバーもたくさんあります。
Skriptかプラグインで作る
このプロンプトは、そのまま送信できる状態で開きます:
“Paper 1.21用のSkript: /kit starterで、プレイヤーごとに24時間に1回、石の剣、パン16個、松明8本を渡す、早すぎる場合は残り時間を表示、権限kits.starter、初参加のプレイヤーに/kit starterを知らせる参加メッセージ。”
Codexeでこれを生成