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

Dungeon

Dungeon 拡張は、ポリゴンベースの部屋検出、グローバル/パーティメニュー、戦利品チェスト、パーティ同期を備えた、インスタンス化ダンジョンを作成・管理するための包括的なフレームワークを提供します。

機能

  • インスタンス化ワールド — ダンジョンの各プレイごとに、テンプレートベースの生成で専用ワールドが作成されます。
    • 部屋とトリガー — onEnter/onLeave トリガー、優先度、条件を備えたポリゴンベースの部屋。
    • メニューシステム — グローバルなダンジョンブラウザー + パーティロビー。UI レイアウトを完全にカスタマイズできます。
    • 戦利品チェスト — NPC アンカー、手動トリガー、クライアント側の仮想ブロックを備えたランダムチェスト。
    • パーティシステム — 準備完了/未準備の状態を持つ組み込みロビー。MMOCore、Parties 用のオプションアダプター。
    • 部屋エディター — パーティクルの縁、ノード操作、ツールバーを備えたゲーム内ビジュアル部屋エディター。

権限

Permission説明
typewriter.dungeon.adminダンジョンと部屋エディターを管理します。

依存関係

Extension必須用途
GUI Extension必須すべてのメニューは GUI レイアウトシステム(layoutPoolmainLayoutId)を使用します。これがないとメニューは開きません。
QuestExtension必須クエスト統合のためのランタイム依存(Ref<QuestEntry>)。
PartyExtension任意外部のパーティプラグイン(Parties、MMOCore)。Dungeon には単独で動作する組み込みロビーがあります。
PlaceholderAPI任意メッセージ内の @Placeholder プレースホルダーの解決用。

アーキテクチャ

エントリー

  • 定義Dungeon Instance:ルール、コスト、パーティ設定。Category:メニュー内でダンジョンをグループ化。Room:入退室トリガー付きのポリゴンフットプリント。Room Config:部屋セット + スポーン地点。Loot Chest:ランダムな報酬コンテナ。

クイックスタートガイド

ステップ 1 — 部屋を定義する

/dungeon room my_room edit を使ってビジュアル部屋エディターに入ります。ノードを配置してポリゴンの境界を形成します。ライムの染料で保存します。

dungeon_room:
id: "boss_room"
name: "Boss Arena"
nodes:
- {x: 10, y: 64, z: 10}
- {x: 20, y: 64, z: 10}
- {x: 20, y: 64, z: 20}
- {x: 10, y: 64, z: 20}
priority: 1
onEnter:
- "boss_spawn_trigger"

ステップ 2 — 部屋を設定にまとめる

dungeon_room_config:
id: "dungeon_layout"
name: "Default Layout"
rooms:
- "boss_room"
- "entrance_room"
spawnPoint:
x: 15
y: 65
z: 15
world: "dungeon_template"

ステップ 3 — ダンジョンインスタンスを定義する

dungeon_instance:
id: "ancient_temple"
name: "Ancient Temple"
templateWorld: "dungeon_template"
roomConfigurations:
- "dungeon_layout"
minPartySize: 1
maxPartySize: 4
cooldownSeconds: 300

ステップ 4 — カテゴリとメニューを作成する

dungeon_category:
id: "main_dungeons"
name: "Main Dungeons"
instances:
- dungeonInstance: "ancient_temple"
unlockedItem: STONE_BRICKS
unlockedName: "<gold>Ancient Temple</gold>"
unlockedLore:
- "<gray>Players: {players}/{max}"

dungeon_global_menu:
id: "dungeon_hub"
category: "main_dungeons"
inventoryTitle: "<bold><gold>⚔ Dungeons</gold></bold>"
layoutPool:
- id: "main"
type: simple
items: []

ステップ 5 — メニューを開く

任意のアクション、コマンド、NPC の会話、エントリートリガーから:

action:
type: dungeon_global_menu
id: "open_dungeons"
globalMenu: "dungeon_hub"

またはコマンドで:/dungeon global-menu main_dungeons

コマンド

コマンド説明
/dungeon global-menu <category>グローバルなダンジョンブラウザーを開く
/dungeon party-menu <instance>特定インスタンスのパーティロビーを開く
/dungeon room <room> editビジュアル部屋エディターに入る
/dungeon room <room> addvertex対象ブロックにノードを追加
/dungeon room <room> removevertexat <index>インデックスでノードを削除
/dungeon room <room> save部屋を保存してエディターを終了
/dungeon room <room> cancel編集をキャンセル

プレースホルダー

すべてのプレースホルダーは接頭辞 %typewriter_dungeon_% を使用します。

プレースホルダー説明
%typewriter_dungeon_players%現在のダンジョン内のプレイヤー数。
%typewriter_dungeon_attempts%このダンジョンの総挑戦回数(プレイヤーごとのアーティファクト)。
%typewriter_dungeon_completions%クリア回数(プレイヤーごとのアーティファクト)。
%typewriter_dungeon_best_time%フォーマットされた最速クリアタイム(プレイヤーごとのアーティファクト)。