morinoparty の Minecraft プラグインテンプレートです。Paper / Velocity 両対応のマルチモジュール構成になっています。
| モジュール | 説明 |
|---|---|
common |
Paper/Velocity 共通コード |
paper |
Paper (Bukkit) プラグイン |
velocity |
Velocity プロキシプラグイン |
api |
外部プラグイン向け公開 API |
- Kotlin - 言語
- Paper API 1.21.8 - Minecraft サーバー API
- Velocity API 3.4.0 - Minecraft プロキシ API
- Cloud - コマンドフレームワーク (Incendo)
- Koin - 依存性注入
- MCCoroutine - Kotlin Coroutines の Minecraft 統合
- ShadowJar - Fat JAR 生成
- Fumadocs - ドキュメントサイト (Next.js)
- Java 21 (Temurin 推奨)
- Gradle 9.x (Wrapper 同梱)
- Node.js 22+ / pnpm 10+ (ドキュメントビルド用)
- Task (タスクランナー、任意)
GitHub の "Use this template" ボタンからリポジトリを作成するか、クローンしてください。
テンプレートのプレースホルダーを自分のプラグイン名に一括置換します。
# 例: "PluginName" を "MyPlugin" に変更する場合
# 1. settings.gradle.kts のルートプロジェクト名
# rootProject.name = "MyPlugin"
# 2. パッケージ名の変更
# party.morino.pluginname → party.morino.myplugin
# ディレクトリ名も合わせてリネーム
# 3. クラス名の変更
# PluginName → MyPlugin
# PluginNameAPI → MyPluginAPI
# PluginNameCommon → MyPluginCommon
# 4. 設定ファイルの更新
# - paper/build.gradle.kts: main クラスのパス、website URL
# - velocity PluginName.kt: @Plugin アノテーションの id, name
# - CLAUDE.md: プロジェクト名、リポジトリ URL
# - docs/app/layout.tsx: メタデータ
# - docs/app/layout.config.tsx: タイトル、GitHub URL
# - .github/workflows/preview.yml: PROJECT_NAME
# - .github/workflows/upload.yml: JAR ファイル名# Gradle ビルド
./gradlew build -x test
# または Task を使用
task build# Paper テストサーバー
./gradlew :paper:runServer
# または Task を使用
task runcd docs
pnpm install
pnpm dev
# または Task を使用
task docsテンプレートから新しいプラグインを作成する際に行うべき作業の一覧です。
- リポジトリ名を変更
-
settings.gradle.ktsのrootProject.nameを変更 - パッケージ名
party.morino.pluginnameを変更 - ソースディレクトリ名をパッケージ名に合わせてリネーム
- クラス名 (
PluginName,PluginNameAPI,PluginNameCommon) を変更 -
paper/build.gradle.ktsのメインクラスパス・website を変更 -
velocity/.../PluginName.ktの@Pluginアノテーションを変更 -
CLAUDE.mdのプロジェクト説明とリポジトリ URL を変更 -
docs/app/layout.tsxのメタデータを変更 -
docs/app/layout.config.tsxのタイトルと GitHub URL を変更 -
docs/app/llms.txt/route.tsのプラグイン名を変更 -
docs/package.jsonのnameを変更 -
.github/workflows/preview.ymlのPROJECT_NAMEを変更 -
.github/workflows/upload.ymlの JAR ファイル名を変更 - GitHub リポジトリの Settings で GitHub Pages を有効化
- GitHub リポジトリの Secrets に S3 認証情報を設定 (プレビュー機能を使う場合)
- 不要な初期サンプルコード (
ExampleCommand) を削除
| コマンド | 説明 |
|---|---|
task build |
全モジュールをビルド |
task run |
Paper 開発サーバーを起動 |
task docs |
ドキュメント開発サーバーを起動 |
task check |
フォーマット + ビルド |
task clear |
session.lock ファイルを削除 |
| ワークフロー | トリガー | 説明 |
|---|---|---|
check_pull_request.yml |
Pull Request | ビルドチェック |
preview.yml |
Pull Request | プレビュービルド・S3 アップロード・PR コメント |
upload.yml |
Release published | GitHub Release にJAR をアップロード |
release.yml |
Push to master | Release Drafter でドラフトリリース作成 |
deploy_docs.yml |
Push to master (docs/) | GitHub Pages にドキュメントデプロイ |
dependabot_auto_merge.yml |
Dependabot PR | 自動マージ |
sync-label.yml |
labels.json 変更 | GitHub ラベル同期 |
CC0-1.0