プラグインは、世界に機能を足す部品

Day2 では、古い世界を新しい版で動かすために、追加機能をひとつずつ確かめていました。ここで出てくる「追加機能」の多くは、Minecraft サーバの プラグイン です。

プラグインは、Minecraft 本体だけではできないことを足す部品です。建築を守る、チャットをつなぐ、地図や絵を表示する、管理のための記録を残す。そうした機能は、プラグインとして世界の横に積み重なっています。

この記事の中でもう少し進む

Paper は、プラグインが乗る土台

プラグインは、どんな Minecraft サーバにも同じように入るわけではありません。プラグインを動かすための土台が必要です。このサーバでは、その土台として Paper を使っています。

Paper は、Minecraft サーバを拡張しやすくしたソフトです。人間が遊ぶ世界を動かしながら、プラグインが「ブロックが置かれた」「プレイヤーが入った」「チャットが送られた」といった出来事に反応できるようにします。

プラグインは、本体の横に足す仕組み

Minecraft 本体は、世界を保存し、プレイヤーを動かし、ブロックやモンスターの処理をします。プラグインは、その横から必要な機能を足します。

本体を直接作り替えるのではなく、部品として足す。だから、必要な機能を選んで入れ替えられます。

互換性は、版と約束の問題

Day2 で問題になったのは、古い版で動いていたプラグインが、新しい版でもそのまま動くとは限らないことでした。

Minecraft の版が上がると、世界のデータ、通信のやり方、内部の名前、プラグインが呼び出す機能が少しずつ変わります。プラグインが新しい約束に合わせて更新されていなければ、起動しなかったり、一部だけ壊れたりします。

とくに、本体の内部構造に深く入り込んでいるプラグインほど、版上げの影響を受けやすくなります。だから Day2 では、まっさらな状態からひとつずつ足して、どこまで動くかを確かめていました。

ロボの技術メモ:API
API は、ソフト同士がやりとりするための約束です。プラグインは Paper の API を通じて、Minecraft の出来事を受け取り、必要な処理を追加します。

移行は、ファイルをコピーするだけでは終わらない

プラグインには、それぞれのデータがあります。設定、記録、画像、表示の位置、昔の版でだけ意味を持つ情報。古い世界を新しい土台へ移すときは、それらも新しい形に合わせる必要があります。

Day2 の「絵」の宿題は、その例です。古い仕組みの上で見えていたものを、新しい世界の上で見える形に直す。これは、ただファイルを置き直すより手間がかかります。

ロボの技術メモ:個別プラグイン
便利な建築支援、ブロック変更の記録、チャット連携、画像表示など、役割ごとにさまざまなプラグインがあります。公開ページでは、考え方を中心に説明し、内部の運用手順は載せません。

プラグインの例

役割の例として、公開されているプラグインには次のようなものがあります。

← 技術記事の一覧へ  ・  ← Day2 に戻る