🔄 コンテンツ追加・設定変更
OP向け情報
新アイテム・新モブ・新クエストの追加や、既存設定の調整を「編集 → 反映 → 確認 → WIKI更新」まで通しで行う手順です。
全体の流れ
1. リポジトリの yml を編集
MattariMMO/src/main/resources/xxx.yml
2. サーバーへ反映
方法A: サーバー側の plugins/MattariMMO/01_定義/xxx.yml にも同じ変更 → reloadコマンド (即時反映)
方法B: プラグインを再ビルド・差し替え → 再起動 (恒久反映)
3. ゲーム内で確認
/item info など対応する確認コマンド
4. WIKIを更新
.\scripts\update.ps1 "変更内容" (このサイトが2〜4分で自動更新)2か所の同期を忘れずに
サーバー側 (plugins/MattariMMO/01_定義/) だけを編集すると、次のプラグイン更新時にリポジトリ側の内容で上書きされて巻き戻ります。恒久的な変更は必ずリポジトリ側の src/main/resources/ にも同じ変更を入れてください。逆にリポジトリ側だけ変更した場合は、ビルド・差し替えするまでサーバーには反映されません。
どのファイルを編集するか
対象別の編集ファイルとreloadコマンドの完全な対応表は 🗺️ 設定ファイルマップ にあります。よく使うものの抜粋:
| 追加・変更したいもの | 編集ファイル | 反映 | 確認コマンド |
|---|---|---|---|
| アイテム・装備 | items.yml | /mmo reload | /item info <id> → /item give で現物確認 |
| 敵モブ・ボス | enemies.yml | /enemy reload | /enemy spawn <id> で試し湧き |
| ドロップ | drops.yml | /drop reload | /drop test <mob> <回数> |
| クエスト | quests.yml | /quest reload | /quest info <id> |
| ショップ | shops.yml | /shop reload | /shop info <id> |
| スキル | skills.yml | /skill reload | /skill info <skillId> |
| 職業 | jobs.yml | /mmo reload | /job info |
| 釣り | fishing.yml | /fishing reload | /fishing list |
レシピ: 新アイテムを追加する
items.ymlに新アイテムを定義する(既存の類似アイテムをコピーして編集するのが安全)- 関連ファイルも更新する — ドロップさせるなら
drops.yml、ショップで売るならshops.yml、クラフト可能にするならcraft_recipes.yml - 反映:
/mmo reload(+/drop reload//shop reload) - 確認:
/item info <新ID> ← 定義が読めているか
/item give <自分> <新ID> ← 現物のステータス・Lore確認既存アイテムのIDは変更しない
IDを変えるとプレイヤーの所持品が消えます。修正はIDを維持したまま中身だけ変更してください。
レシピ: 新しい敵・ボスを追加する
enemies.ymlに定義を追加 (通常敵はenemies:、ボスはbosses:セクション)- ドロップを
drops.ymlに追加 - 反映:
/enemy reload+/drop reload(ボスは/boss reload) - 確認:
/enemy spawn <新ID> ← 試し湧き (人のいない場所で)
/enemy info <新ID> ← ステータス確認
/drop test <新ID> 100 ← ドロップ率の検証
/enemy despawnall ← 後片付けレシピ: 新クエストを追加する
quests.ymlに定義を追加- 反映:
/quest reload - 確認: 自分で
/quest accept <新ID>→ 進行 →/quest claim <新ID>まで一通りテスト - 詰まった場合は
/quest admin debug <自分>で状態確認
変更の反映(reload)
全体をまとめて再読み込みする場合:
/mmo reload個別のreloadで足りる場合はそちらの方が安全・高速です(設定ファイルマップ参照)。reload後はコンソール(サーバーログ)にエラーが出ていないか必ず確認してください。
WIKI(サイト)の更新
このサイトはリポジトリのymlから自動生成されています。ymlをpushするだけで、アイテム一覧・敵一覧などのページは自動で更新されます。
リポジトリのルートで:
.\scripts\update.ps1 "変更内容のメッセージ"このスクリプトが以下を自動で行います:
- yml構文チェック (エラーがあれば停止)
- ファイルサイズ激変チェック (切断事故防止)
- 変更前ファイルの自動バックアップ
- commit + push → GitHub Actions → 約2〜4分でサイト反映
pushせずに確認だけしたい場合は .\scripts\update.ps1 -DryRun。
手書きページの更新
このハンドブックのような手書きページ(docs-site/op/*.md)や運用手順を変えた場合も、同じく update.ps1 でpushすれば反映されます。
ソースコード(Java)を変更した場合
ymlだけでなくJava側を変更した場合は、ビルドとjar差し替えが必要です。🛠️ メンテナンス — プラグインの更新手順 に進んでください。