メインコンテンツまでスキップ

MythicMobs NPC

MythicMobs NPC 拡張MythicMobs のエンティティを TypeWriter の NPC システムに統合し、完全な 3D モデルサポートを備えた複雑でアニメーションする対話型キャラクターを実現します。

機能

  • MythicMobs 統合 — 任意の MythicMob を永続的な NPC として使用でき、設定を完全にサポートします。
    • 3D モデルサポートBetterModelModelEngine をネイティブにサポートし、モデルの表示を自動管理します。
    • オーディエンスグループ — TypeWriter のオーディエンスシステムを使って、特定のプレイヤーグループに NPC を表示します。プレイヤーごとの NPC 用に PlayerGroup をサポートします。
    • 表示制御 — プレイヤーごとの細かな表示制御と、参加するプレイヤーの自動処理。
    • インタラクション — NPC との対話時にクエストや会話を発動でき、クリックの種類をカスタマイズできます。
    • アニメーション — ModelEngine/BetterModel API を通じてアニメーション、スタンス、移動状態を制御します。

アーキテクチャ

モデル統合

この拡張は 3D モデルのレンダリングに BetterModelModelEngine の両方をサポートします:

BetterModel は推奨のモデルプロバイダーです。この拡張は最適な表示制御のためにネイティブの EntityTrackerRegistry API を使用します:

  • モデルの表示に registry.spawnIfNotSpawned(player) を使用
  • モデルの非表示に registry.remove(player) を使用
  • プレイヤーごとのモデル表示を完全にサポート

注意: モデルは MythicMob の YAML ファイルで設定する必要があります。TypeWriter は表示を自動管理しますが、エンティティにモデルを適用することはありません。

オーディエンスグループ

この拡張は NPC の表示を制御するために TypeWriter のオーディエンスシステムをサポートします:

# PlayerGroup を使用すると、各プレイヤーは自分専用の NPC インスタンスを見ます
group: player_group_entry_id

PlayerGroup を使用する場合:

  • 各プレイヤーは専用の NPC エンティティを持ちます
  • NPC はオーディエンス外のプレイヤーには見えません
  • 参加やワールド移動を行うプレイヤーの自動処理

エントリー

  • エンティティ定義MythicMob NPC Definition:MythicMob ベースの NPC を定義。MythicMob NPC Instance:NPC をワールドに配置。
    • アクションShow NPC:プレイヤーに NPC を表示。Hide NPC:プレイヤーから NPC を非表示。
    • ファクトと変数 — ファクトで NPC の体力、存在、距離を確認します。変数を使ってレベル、パワー、状態のデータにアクセスします。
    • イベントとシネマティックNPC Interact Event:クリック時に発火。NPC Cinematic:シーンで NPC を使用。

クイックスタート

  • 1. アクションを発動する — アクションエントリーを使って拡張と連携します:show_npchide_npc。コマンド、NPC、イベント、その他のエントリーから発動できます。→ show_npc → hide_npc

設定オプション

NPC Definition

Option説明
mobType使用する MythicMob の内部名
tickingサーバー側(実エンティティ)は true、クライアント側(パケットベース)は false
showDisplayNameNPC の上にネームタグを表示するかどうか
cancelInteractAnimation操作時の腕を振るアニメーションを無効化

NPC Instance

Option説明
spawnLocationNPC をスポーンさせる場所(動的な位置に対応)
group表示制御のためのオーディエンスグループ
activityNPC の挙動のためのエンティティアクティビティエントリー

依存関係

Extension必須用途
QuestExtension必須コアクエストエンジン。
BasicExtension必須拡張のコアユーティリティ。
EntityExtension必須エンティティ管理フレームワーク。
RoadNetworkExtension必須NPC のパスファインディングと道路ネットワーク。
PlaceholderAPI任意@Placeholder フィールド用。