NPCテンプレート
1. テンプレートとは
テンプレートは、NPCの設定をファイル化して再利用する仕組みです。同じ構成の受付NPCを複数作りたい場合や、設定を別サーバーへ配布したい場合に役立ちます。
公式資料:https://wiki.citizensnpcs.co/Templates
2. 保存場所と構成
公式Wikiでは、テンプレートは次のディレクトリに保存されると説明されています。
plugins/Citizens/templates/
テンプレートは名前空間(フォルダ)とテンプレート名で整理できます。名前空間が重複する可能性がある場合は、namespace:template 形式で明示すると安全です。
3. 主なコマンド
| コマンド | 用途 |
|---|---|
/template help | ヘルプ |
/template list | テンプレート一覧 |
/template generate <名前> | 既存NPCの保存データからテンプレートを生成 |
/template apply <名前> | 選択中のNPCにテンプレートを適用 |
/npc create <名前> --template <テンプレート名> | 対応版でテンプレートを使ってNPCを作成 |
注意:現行のWiki例では作成フラグに --templates と複数形が使われているケースがあります。一方、ソース版の引数定義やヘルプで別表記となる可能性があるため、正確なフラグは /npc help create と /template help を参照してください。
4. テンプレートの内容
テンプレートにはNPCの保存データやTrait、名前、エンティティ種別などが含まれる場合があります。Wikiには yaml_replace と commands を使うテンプレート例があり、スポーン時・テンプレート適用時のコマンド実行などを定義できる構成が説明されています。
example: yaml_replace: replacements: name: Town Guide traits: type: VILLAGER override: true
このYAMLはテンプレートの概念を示す短い例で、単独で完全なテンプレートとして使える保証はありません。必要なキー、置換構文、イベント処理は現在のTemplates Wikiと既存の生成ファイルを参考にしてください。
5. 運用のポイント
- 生成したテンプレートはテキスト差分管理(Git等)に向いています。
- 名前空間を用途別に分けると管理しやすくなります(例:
town:、event:、shop:)。 - 適用前にバックアップを取り、既存NPCのどの値を上書きするかを確認してください。
- テンプレートイベントから管理用コマンドを実行する場合は、クリックコマンド同様に権限・副作用を確認してください。
- スキンや外部プラグイン固有の設定が、別環境でも完全に再現されるとは限りません。
6. 推奨ワークフロー
- テスト用NPCを手動で理想の状態に設定する。
/template generateでファイル化する。- YAMLを読み、余計な座標やサーバー固有情報が含まれていないか確認する。
- 別NPCへ
/template applyして差分をテストする。 - NPC作成時にテンプレートを適用する形式が使用版で対応しているか確認する。
- 本番用のテンプレートとして管理・バックアップする。