PMForgeは、PocketMine-MP (PMMP) プラグイン開発のための効率的な開発環境テンプレートです。Docker devcontainerを使用して一貫した開発環境を提供し、プラグイン開発のワークフローを簡素化します。
- Docker devcontainerによる完全に構成済みの開発環境
- 迅速なプラグイン初期化スクリプト
- PHPStan、PHP-CS-Fixerによるコード品質管理ツール
- シンプルなPHARビルドシステム
- 自動PMMPサーバーセットアップ機能
- 便利なMakeコマンド群
- Docker
- VS Code + Dev Containers拡張機能
- リポジトリをクローンします
.env.exampleを.envにコピーして必要に応じて設定を編集します- VS Codeで開き、「Reopen in Container」を選択します
- devcontainerが自動的に開発環境をセットアップします
.envファイルを使用して、PMMPサーバーの設定をカスタマイズできます:
# PMMPサーバーをセットアップ
make pmmp-setup
# 既存のPMMPサーバーを完全に削除
make pmmp-purge.env.exampleをコピーして.envを作成します。これは、PMMPサーバーのセットアップに必要な環境変数を設定するための重要なファイルです。
# .env.exampleから.envを作成
cp .env.example .env.envで設定可能な項目:
PMMP_VERSION- PocketMine-MPのバージョン (例: 5.27.0)- PocketMine-MP Releasesから利用可能なバージョンを確認できます
PHP_BUILD_VERSION- PHPビルドのバージョン (例: pm5-php-8.3)- PHP-Binaries Releasesから利用可能なバージョンを確認できます
ARCH- アーキテクチャ (x86_64, arm64, x64など)- 通常のLinux/Macでは
x86_64、Windowsではx64を使用します
- 通常のLinux/Macでは
OS- 対象OS (Linux, Windows, MacOS)- プラグインをテストするホストOSを指定します
BASE_PATH- PMMPサーバーのインストール先パス- Windowsでの使用例:
/mnt/c/pmmp(WSLからアクセス可能なWindowsのパス) - Linux/Macでの使用例:
/home/user/pmmp
- Windowsでの使用例:
これらの設定は、make pmmp-setup実行時にPMMPサーバーとPHPバイナリを適切にダウンロードおよび設定するために使用されます。
make init-plugin対話形式でプラグイン名、バージョン、作者情報などを入力し、基本的なプラグインプロジェクト構造を生成します。composer.jsonの設定も自動的に更新されます。
# PHPStanでの静的解析
make analyse
# PHP-CS-Fixerでのコードスタイル修正
make fix
# コードスタイルチェック(修正なし)
make check# プラグインのPHARをビルド
make build
# PMMPサーバーを起動
make run
# ビルドしたプラグインをPMMPサーバーに配置
make deploy
# ビルドとデプロイを一度に実行
make redeploymake clean/.devcontainer- Docker開発環境の設定/scripts- 各種ユーティリティスクリプトbuild-phar.php- PHARファイル生成スクリプトbuild-phar.sh- PHAR生成のシェルラッパーinit-plugin.sh- 新規プラグイン初期化スクリプトsetup-pmmp.sh- PMMPサーバーセットアップスクリプト
/src- プラグインのソースコード/builds- ビルドされたPHARファイル
.editorconfig- エディタ共通設定.pre-commit-config.yaml- git pre-commitフック設定.php-cs-fixer.dist.php- コードスタイル設定phpstan.neon- 静的解析設定.env- 環境変数設定 (.env.exampleからコピーして作成)