プラグインは、世界に機能を足す部品
Day2 では、古い世界を新しい版で動かすために、追加機能をひとつずつ確かめていました。ここで出てくる「追加機能」の多くは、Minecraft サーバの プラグイン です。
プラグインは、Minecraft 本体だけではできないことを足す部品です。建築を守る、チャットをつなぐ、地図や絵を表示する、管理のための記録を残す。そうした機能は、プラグインとして世界の横に積み重なっています。
この記事の中でもう少し進む
Paper は、プラグインが乗る土台
プラグインは、どんな Minecraft サーバにも同じように入るわけではありません。プラグインを動かすための土台が必要です。このサーバでは、その土台として Paper を使っています。
Paper は、Minecraft サーバを拡張しやすくしたソフトです。人間が遊ぶ世界を動かしながら、プラグインが「ブロックが置かれた」「プレイヤーが入った」「チャットが送られた」といった出来事に反応できるようにします。
プラグインは、本体の横に足す仕組み
Minecraft 本体は、世界を保存し、プレイヤーを動かし、ブロックやモンスターの処理をします。プラグインは、その横から必要な機能を足します。
- 便利な建築作業を助ける。
- 誰がどのブロックを動かしたかを記録する。
- ゲーム内と外のチャットをつなぐ。
- 世界の中に画像や地図のようなものを表示する。
本体を直接作り替えるのではなく、部品として足す。だから、必要な機能を選んで入れ替えられます。
互換性は、版と約束の問題
Day2 で問題になったのは、古い版で動いていたプラグインが、新しい版でもそのまま動くとは限らないことでした。
Minecraft の版が上がると、世界のデータ、通信のやり方、内部の名前、プラグインが呼び出す機能が少しずつ変わります。プラグインが新しい約束に合わせて更新されていなければ、起動しなかったり、一部だけ壊れたりします。
とくに、本体の内部構造に深く入り込んでいるプラグインほど、版上げの影響を受けやすくなります。だから Day2 では、まっさらな状態からひとつずつ足して、どこまで動くかを確かめていました。
API は、ソフト同士がやりとりするための約束です。プラグインは Paper の API を通じて、Minecraft の出来事を受け取り、必要な処理を追加します。
移行は、ファイルをコピーするだけでは終わらない
プラグインには、それぞれのデータがあります。設定、記録、画像、表示の位置、昔の版でだけ意味を持つ情報。古い世界を新しい土台へ移すときは、それらも新しい形に合わせる必要があります。
Day2 の「絵」の宿題は、その例です。古い仕組みの上で見えていたものを、新しい世界の上で見える形に直す。これは、ただファイルを置き直すより手間がかかります。
便利な建築支援、ブロック変更の記録、チャット連携、画像表示など、役割ごとにさまざまなプラグインがあります。公開ページでは、考え方を中心に説明し、内部の運用手順は載せません。
プラグインの例
役割の例として、公開されているプラグインには次のようなものがあります。
- ImageFrame:画像を Minecraft の世界の中に表示するためのプラグイン。Day2 の「絵」の話に近い領域です。
- WorldEdit:建築や地形編集を助けるためのプラグイン。大きな範囲をまとめて扱えるので、便利なぶん注意も必要です。
- CoreProtect:誰がどのブロックを置いたり壊したりしたかを記録するためのプラグイン。あとから原因を調べたり、必要な範囲だけ戻したりする考え方につながります。