mirror of
https://github.com/mii443/minecraft-scala-plugin-template.git
synced 2025-08-22 16:05:37 +00:00
- Complete Scala SpigotMC plugin template
- Docker development environment
- Sample commands (/hello, /info) and event handlers
- Development scripts for easy server management
- Comprehensive README and documentation
🤖 Generated with Claude Code
119 lines
3.2 KiB
Markdown
119 lines
3.2 KiB
Markdown
# Minecraft Scala Plugin Template
|
||
|
||
🎮 ScalaでSpigotMCプラグインを開発するためのテンプレートです。
|
||
|
||
## 特徴
|
||
|
||
- 🛠️ **Scala + SpigotMC**: ScalaでMinecraftプラグインを開発
|
||
- 🐳 **Docker開発環境**: 簡単にテスト用サーバーを起動
|
||
- 🔄 **ホットリロード**: プラグインの変更を即座に反映
|
||
- 📦 **完全なビルド環境**: sbtでのビルドとパッケージング
|
||
|
||
## クイックスタート
|
||
|
||
1. **テンプレートをクローン**
|
||
```bash
|
||
git clone https://github.com/yourusername/minecraft-scala-plugin-template.git
|
||
cd minecraft-scala-plugin-template
|
||
```
|
||
|
||
2. **開発サーバーを起動**
|
||
```bash
|
||
./dev-server.sh start
|
||
```
|
||
|
||
3. **Minecraftクライアントで接続**
|
||
- サーバーアドレス: `localhost:25565`
|
||
- オフラインモードで動作します
|
||
|
||
## 開発コマンド
|
||
|
||
```bash
|
||
# サーバー起動(プラグインも自動ビルド)
|
||
./dev-server.sh start
|
||
|
||
# プラグイン再ビルド+サーバー再起動
|
||
./dev-server.sh restart
|
||
|
||
# サーバー停止
|
||
./dev-server.sh stop
|
||
|
||
# ログ確認
|
||
./dev-server.sh logs
|
||
|
||
# Minecraftサーバーコンソールにattach
|
||
./dev-server.sh attach
|
||
|
||
# サーバーのbashシェルに接続
|
||
./dev-server.sh console
|
||
|
||
# 完全リビルド
|
||
./dev-server.sh rebuild
|
||
```
|
||
|
||
## プロジェクト構造
|
||
|
||
```
|
||
minecraft-scala-plugin-template/
|
||
├── src/main/scala/com/example/plugin/
|
||
│ └── MinecraftScalaPlugin.scala # メインプラグインクラス
|
||
├── src/main/resources/
|
||
│ └── plugin.yml # プラグイン設定
|
||
├── build.sbt # sbtビルド設定
|
||
├── docker-compose.yml # Docker設定
|
||
├── Dockerfile # サーバーイメージ
|
||
├── dev-server.sh # 開発用スクリプト
|
||
└── README.md
|
||
```
|
||
|
||
## サンプル機能
|
||
|
||
このテンプレートには以下のサンプル機能が含まれています:
|
||
|
||
### コマンド
|
||
- `/hello` - 挨拶メッセージを表示
|
||
- `/info` - プレイヤー情報を表示
|
||
|
||
### イベントハンドラ
|
||
- プレイヤー参加時のウェルカムメッセージ
|
||
- プレイヤー退出時のログ出力
|
||
|
||
## カスタマイズ
|
||
|
||
### プラグイン名を変更
|
||
1. `build.sbt` の `name` を変更
|
||
2. `src/main/resources/plugin.yml` の `name` と `main` クラス名を変更
|
||
3. パッケージ名とクラス名を変更
|
||
|
||
### 新機能の追加
|
||
1. `src/main/scala/com/example/plugin/MinecraftScalaPlugin.scala` を編集
|
||
2. 新しいコマンドやイベントハンドラを追加
|
||
3. `./dev-server.sh restart` で変更を反映
|
||
|
||
## ビルド
|
||
|
||
### 手動ビルド
|
||
```bash
|
||
sbt clean package
|
||
```
|
||
|
||
### JAR出力場所
|
||
```
|
||
target/scala-2.13/minecraft-scala-plugin_2.13-1.0.0.jar
|
||
```
|
||
|
||
## 要件
|
||
|
||
- Docker & Docker Compose
|
||
- Java 8以上(sbt用)
|
||
- Minecraft Java Edition(テスト用)
|
||
|
||
## ライセンス
|
||
|
||
このテンプレートは自由に使用・改変できます。
|
||
|
||
## 参考資料
|
||
|
||
- [SpigotMC API Documentation](https://hub.spigotmc.org/javadocs/spigot/)
|
||
- [Bukkit Plugin Tutorial](https://bukkit.fandom.com/wiki/Plugin_Tutorial)
|
||
- [Scala Documentation](https://docs.scala-lang.org/) |