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

ダンジョン内のエンティティ

ダンジョンには 2 種類の生き物がいて、扱いが異なります。

NPC戦闘モブ
エントリDungeon NPC InstanceDungeon Mob Spawn
正体任意の Typewriter エンティティ定義(Typewriter 自身のエンティティ、MythicMobsNPC、BetterModel など)本物のバニラモブ
誰に見えるかランのメンバーだけワールド内の全員。ただしランに属する
いつ現れるかランが存在する間ランごとに一度。メンバーが最初にそのルームに入ったとき
配置spawnLocation(固定型)または NPC マーカー(生成型)room + positions(固定型)または MOB マーカー(生成型)

ランの NPC​

Dungeon NPC Instance は、NPC をランごとに、そのランのワールドで、そのランのメンバーにだけ表示します。メンバーでないプレイヤー(同じ共有ワールド内の別のラン、または退出したプレイヤー)には何も見えません。ランを離れたメンバーは、すぐに NPC が見えなくなります。

  1. エンティティ定義を通常どおり作成します(Typewriter のエンティティ、MythicMobsNPC、BetterModel など)。常に参照で選び、id を直接入力しないでください。
  2. Dungeon NPC Instance を追加し、definition を設定します。
  3. 固定型ダンジョンでは、spawnLocation を設定します。テンプレートワールド内の位置で、ランのスロットによってずらされます。生成型ダンジョンでは、ルームテンプレートに NPC マーカーを置き、その npc フィールドでこのインスタンスを指定します。spawnLocation は無視されます。

allowedDungeonIds は、そのランで NPC を表示するダンジョンインスタンスを列挙します。空は、すべてのダンジョンのすべてのランを意味します。 固定型ダンジョンでは、同じ spawnLocation が対象のすべてのダンジョンに適用されるため、ダンジョンごとに異なる場合はリストを絞ってください。生成型ダンジョンでは、NPC は、レイアウトにそれを指す NPC マーカーがあるランでのみ表示されます。複数のマーカー(または複数のルーム)が同じインスタンスを指定している場合、レイアウトの順で最初のものだけが有効です。

group はデフォルトで空です。オーディエンスはランのメンバーで、ランごとに NPC が 1 体です。同じランの中で、そのグループのメンバー間で 1 体の NPC を共有したい場合にだけ、グループエントリを選びます。

NPC の制限​

  • アクティビティは絶対位置を使います。 エンティティのアクティビティ(歩く経路、巡回)は、ランのスロットやワールドへずらされません。アクティビティが相対的な動きだけを使うと確信できない限り、activity は空のままにしてください(NPC は立ったままです)。
  • MythicMobsNPC: ticking をオフにし、新しいビルドを使ってください。 ticking がオンの MythicMobsNPC 定義は、閲覧者ごとに本物のモブを作ります。ダンジョンでは、定義の ticking をオフにしてください。するとサーバーはメンバーごとに 1 体のキャリアモブを保持し、それぞれがそのメンバー以外の全員から隠され、クリックは正しいプレイヤーに対してちょうど 1 回のインタラクションになります。これには、MythicMobsNPC 5.0 以降(ラン単位の可視性の修正)が必要です。それより古いビルドでは、キャリアが全員に見えたり、二重に見えたりします。
  • ダンジョン内で MythicMobsNPC が再生するシネマティックは、未検証です。
  • NPC は表示範囲(showRange、またはエンティティのデフォルト)の外では隠され、メンバーが近づくと戻ります。これは正常です。
  • チェストの NPC アンカー: NPC 配置の Dungeon Loot Chest は、その npcAnchor エンティティを右クリックすると開きます。

戦闘モブ​

Dungeon Mob Spawn は、本物のバニラモブを出現させます。

いつ。 ランごとに一度、メンバーが最初にルーム(固定型ダンジョン)またはマーカーのルーム(生成型ダンジョン)に入ったとき。再スポーンすることは決してありません。ウェーブは Dungeon Spawn Mobs アクションで作ります。固定型ダンジョンでは、ルームの enterOnce がオフでも、ルームへの進入でモブが出現し、それはランごとに一度だけです。

どこに。

  • 生成型ダンジョン: そのエントリを指すルームテンプレートの各 MOB マーカー。room と positions は無視されます。
  • 固定型ダンジョン: メンバーが room に入ったときの positions。room が空の場合、自動では何も起こりません。Spawn Mobs アクションだけがそのエントリを出現させます。dungeonInstance は、エントリを 1 つのダンジョンのランに限定します。

何を。 entityType(任意のモブ。ENDER_DRAGON と WITHER はログに警告を出して拒否されます)、count(配置ごとに 1 から 50)、spread(0 から 32 ブロック)、名前、スロットごとにドロップ率を持つ equipment、attributes(体力、ダメージ、速度など)、そして randomizeData。

デフォルトで安全。 blockDamage、dropVanillaLoot、dropExperience は、すべてオフです。モブは何も壊さず燃やさず(爆発はプレイヤーを傷つけます)、与えた装備だけをドロップし(ドロップ率を上げない限り 0)、経験値は与えません。ダンジョンの戦利品は、チェストから出ます。ドロップしたアイテムは、ランの後もワールドに残るため、SHARED_WORLD_SLOTS のダンジョンでは dropVanillaLoot をオフにしておいてください。

ランに属します。 ランが終わると削除されます。ランのモブは、別のランのプレイヤーを狙うことも傷つけることもなく、別のランのプレイヤーもそのモブを傷つけられません。モブが分裂したり変化したりして生じるもの(スライム、マグマキューブ、溺死したゾンビ、エヴォーカーが呼ぶヴェックス)も、ランに属します。

ピースフル。 ピースフルに設定されたワールドでは、ゲームが敵対モブをただちに削除するため、拡張機能はそこでそれらをスポーンしません。拒否されるのは敵対クラスのモブだけです(ゾンビだけでなく、スライム、ガスト、ファントム、シュルカーなども)。中立と友好のモブは、引き続き出現します。その地点は「未払い」のままとなり、拒否は地点ごとに一度ログに記録され、難易度が上げられた後の次回のエントリでモブが出現します。ワールドの難易度を上げるか、敵対的でない種類を選んでください。この動作は、ゲーム内ではまだ検証されていません。

アイテムとポータル。 ダンジョンのモブは、アイテムを拾うことがなく(プレイヤーが落とした装備は地面に残ります)、ポータルで離れることもできません。ランのワールドにとどまり、上限にも数えられ続けます。

他のランのプレイヤー。 ランのモブは、別のランのプレイヤーを狙うことも傷つけることもなく、別のランのプレイヤーがそれを傷つけることも想定されていません。共有ワールド(SHARED_WORLD_SLOTS)では、これは別々のワールドではなくフィルターに頼っているため、重要な場合は隔離されたモードを使ってください。

上限​

Dungeon Instance の maxAliveMobs は、1 つのランで同時に生存できるモブの最大数です(デフォルトは 150、最大 500。0 はモブが一切出現しない)。配置がこれを超える場合、収まる分のモブだけが出現し、サーバーログにそう出ます。残りは未払いのまま(ランとともに、リロードをまたいで保持されます)で、次にメンバーがそのルームに入ったとき、上限が許す範囲で出現します。ただし、エントリの count を超えることは決してありません。

死亡​

  • エントリの onDeath: そのモブが死ぬたびに、deathRecipients(デフォルトは KILLER_OR_MEMBERS)で選ばれたプレイヤーに対してトリガーが実行されます。
  • ダンジョンのモブが死んだとき(on_dungeon_mob_death): どこからでもリッスンできるイベントで、ダンジョンとモブのエントリで絞り込めます。
  • 数えられるのは、そのエントリが作ったモブだけです。分裂したスライムは、1 匹ごとではなく、1 つの報酬と 1 つのイベントになります。モブから生じたもの(分裂体、ヴェックス、子供、援軍)はランに属しますが、何も実行しません。

ルームのクリアを知る​

Dungeon Mobs Alive(dungeon_mobs_alive)は、ランの、または 1 つのエントリの生存モブを数えます。0 は、ルームがクリアされたことを意味しません。 上限がいくつかを保留している可能性があり、リロード後にモブは数え直されます。ルームがクリアされたと示すには、死亡イベントと、続いて Dungeon Clear Room アクションを使ってください。

ウェーブとプレイヤー数によるスケーリング​

既定では 1 つのウェーブが一度に出現し、モブの数はプレイヤー数に左右されません。次の 3 つのフィールド群でこれを変えられます。

  • プレイヤー。 perExtraPlayer は、2 人目以降のプレイヤー 1 人につき各配置のモブを増やします:count + perExtraPlayer × (プレイヤー数 − 1)。maxCount が上限です(0 = 独自の上限なし。配置あたり 50 体とダンジョンの maxAliveMobs は引き続き適用されます)。playerCountSource は誰を数えるかを決めます:PRESENT_IN_ROOM(既定)は発動時に部屋にいるランのメンバー、RUN_MEMBERS はオンラインのランのメンバーです。
  • ペース。 maxSimultaneous は 1 つの地点で同時に生存できるモブの最大数です(0 = すべて一度に)。最初のモブが倒れると次のモブが出現します。各配置ではなく地点全体に対する上限です。
  • ウェーブ。 waves は順序付きのリストです。各ウェーブは独自の count と perExtraPlayer、任意の entityType(なければエントリのもの。装備・属性・名前は常にエントリから取られます)、start と delayTicks を持ちます。AFTER_PREVIOUS_CLEARED は前のウェーブを倒してから delayTicks 後に開始し、AFTER_DELAY は前のウェーブの開始から delayTicks 後に、倒したかどうかに関係なく開始します。ウェーブがある場合、エントリの count は使われません。タイプが拒否されたウェーブは警告を出してスキップされ、次のウェーブが続行されます。ウェーブを持つエントリでは、Dungeon Spawn Mobs アクションが次のウェーブをすぐに開始します。

トリガー:ウェーブの onWaveStart と onWaveCleared、エントリの onWaveCleared(各ウェーブの後)、地点全体が制圧されたときのエントリの onCleared。これらはランのオンラインメンバー全員に対して、地点とイベントごとに 1 回実行されます。死亡トリガーが先に実行されます。すべてのウェーブが始まり、生存しているモブも上限の下で出現待ちのモブもいなくなると、その地点は制圧されたことになります。

リロード

ウェーブはリロードを越えて保持されません。まだモブが残っていた地点は、メンバーが次に部屋へ入ったときに、エントリの count を 1 つのまとまりとして出現させ、イベントは発生しません。まだ始まっていないウェーブは失われます。

すべてのモブを倒すとチェストが現れる​

  1. チェストを置きたい場所に Dungeon Loot Chest を作成し、ラン開始時に置かれないよう manualMode を有効にします。
  2. chestEntry がそのチェストである Loot Chest Trigger アクションを作成します。triggerMode は ONCE のままにします(トリガーが各メンバーに対して実行されても、ランにつき 1 回)。必要に応じてサウンドと particleEffect を追加します。
  3. Dungeon Mob Spawn の onCleared にそのアクションを追加します。別の場所で反応させたい場合は、On Dungeon Mobs Cleared イベントを作成し、mob で絞り込み、その triggers にアクションを入れます。

チェストは、地点の最後のモブが倒されたときにランのワールドに現れます。各ウェーブの後にチェストを出したい場合は、代わりにウェーブの onWaveCleared を使います。

制限の一覧​

制限値
配置あたりのモブ数(count)1 から 50
散らばりの半径(spread)0 から 32 ブロック
ランあたりの生存モブ数(maxAliveMobs)デフォルト 150、最大 500
拒否されるモブの種類ENDER_DRAGON, WITHER
出現地点ごとにランごとに一度。再スポーンなし
NPC の allowedDungeonIds が空すべてのダンジョンのすべてのラン
MythicMobsNPC の定義ticking オフ、MythicMobsNPC 5.0 以降
生存モブ = 0「ルームクリア」ではない。上限やリロードで未払いのモブが隠れることがある
プラットフォームPaper のみ。Folia 非対応
NPC のアクティビティ絶対位置。ずらされない
ピースフルのワールド敵対モブは拒否される