はじめに
Minecraft サーバーを建てました. PaperMC を用いて,プラグインを導入できる運用にしています.
誰でもアクセスできる運用にしていますので,サーバーの秩序が気になります.そこで,チャットやコマンドを全て禁止するプラグインを自作しました.
プラグインはこちらからダウンロードできます..jar ファイルを plugins/ に置くと機能します.
作り方
PaperMC 公式ドキュメントを参考にします.
IDE として,JetBrains 社の IntelliJ IDEA が推奨されているので,これを用います.Community 版は無料で利用することができます.
プラグインとして,Minecraft Development を入れます.すると,「新規プロジェクト」のテンプレートに Minecraft が追加されます.
GruopsはPluginを選択TemplatesはPaperを選択Group IDはドメインの逆順で設定します(例:your.domain.jp→jp.domain.your).持っていない場合は GitHub アカウントに結びつけてio.github.usernameのようにします.
プロジェクトのルート直下に gradlew あるいは gradlew.bat というファイルが生成されます.
以下のコマンドでビルドが行えます(Window は未確認).
- Linux / macOS:
./gradlew build - Windows(コマンドプロンプト):
gradlew.bat build - Windows(PowerShell):
.\gradlew build
ビルド後に build/libs/ に .jar ファイルが生成されます.これをサーバーの plugins/ に置くことでサーバーにプラグインを反映させることができます.
src/main/... 以下にある .java ファイルを書き換えてプラグインを実装します.
詳しくは PaperMC 公式ドキュメントを参照してください.
実装を見てもらう方が早いですが,AsyncChatEvent でチャットのイベントを,PlayerCommandPreprocessEvent でコマンドのイベントを取得しています.
おわりに
実際にこのプラグインを導入した Minecraft のサーバーを動かしています. 詳しくはこちら.
その他関連記事は以下.