変更履歴
1.2
- Dungeon Mob Spawn:
lootTable、spawnParticle、プレイヤー数に応じたスケーリング(perExtraPlayer、maxCount、playerCountSource)、maxSimultaneous、waves、トリガーonWaveClearedとonClearedを追加。 - 新しいエントリ Dungeon Loot Table:チェストとモブで共有する 1 つのルートテーブル。
- Dungeon Loot Chest:
lootTableRefと、1 つのエントリから複数のチェストを置くadditionalLocationsを追加(生成ダンジョンでは無視されます)。 - Loot Chest Trigger:X・Y・Z 軸を別々に指定でき、中心も持つ
particleEffectを追加。4 つのtriggerParticleフィールドは旧仕様で、particleEffectがパーティクルを指定していない場合にのみ使われます。 - 新しいイベント On Dungeon Mobs Cleared。
- 新しいエントリ Dungeon Restrictions。Dungeon Instance または Dungeon Room の
restrictionsで関連付けます:エリトラ、ボートとトロッコ、エンダーパール、コーラスフルーツ、激流の使用を禁止し、コマンドのブロック、拒否メッセージ、回避用パーミッションを設定できます。 - GUI(OmniGUI)0.20 が必要です。 新しい Dungeon Leaderboard Source は GUI 0.20 のリーダーボードソース規約を使います。古い GUI ではダンジョンのリーダーボードは読み込まれません。先に GUI を更新してください。
- アドオン向けの API 破壊的変更:
DungeonArtifactData、DungeonStats、PlayerDungeonStatsはパッケージbtcrenaud.dungeons.coreに移動し、DungeonArtifactEntry.getPlayerStatsとDungeonArtifactEntry.updateのシグネチャが変わりました。Dungeon 1.1.x に対してコンパイルしたアドオンは再コンパイルが必要です。Web パネルで作ったダンジョンには影響しません。 - 統計: プレイヤーごとに 22 の統計(与ダメージ・被ダメージ、モブのキル数、死亡、プレイ時間、クリアしたルームとウェーブ、記録、ソロクリアとノーデスクリアなど)。ラン中に集計され、メンバーごとに 1 回だけ、アーティファクト単位で加算されます。複数のアーティファクトにまたがる合計も取れます。ダメージは実際に体力を減らした分で、対象の体力が上限です。
- Dungeon Instance:
statsMobScopeで、統計に数えるモブを選びます。MARKED_ONLY(既定。そのランが生み出したモブ)またはANY_MOB_IN_RUN_WORLD。 - 新しいファクト Player Dungeon Statistic と、プレースホルダー
dungeon_stat_<key>(_rawで素の数値)、dungeon_total_<key>、dungeon_inst_<id>_<key>を追加しました。スニペットcontent.dungeon_stats.duration_formatとcontent.dungeon_stats.missing_valueで表記を決めます。 - 新しいエントリ Dungeon Leaderboard Source。GUI リーダーボードの
sourceフィールドに接続します(GUI 0.20)。アーティファクト、scope(LIFETIMEまたはCURRENT_RUN)、rankBy、values、durationFormat、decimals、missingValue、unknownNameを指定できます。行のトークンは{value_<key>}、{value_<key>_raw}、{score_raw}です。 - Dungeon Instance:
reconnectGrace(既定 2 分)。切断したメンバーはその間も席を保持し、時間内に戻ればサイドバー、非表示、ゲームモードもそのままで再開します。時間が過ぎるとランから外れ、再接続時に入口の地点へ戻ります。切断時の扱いを参照してください。 - Dungeon Restrictions:
gameMode(任意。例:ADVENTURE。退出時にプレイヤー本来のモードを返します。CREATIVEとSPECTATORは戦闘統計を止めます)、limitInteractionsとallowedInteractions(既定はCHEST、TRAPPED_CHEST、BARREL)、protectedEntities(額縁、アーマースタンド、絵画)、messageRepeatDelay(2 秒)。limitInteractionsはブロックの設置、バケツ、乗り物、スポーンエッグ、火、骨粉、ブロックへの道具の使用も拒否します。 - Dungeon Restrictions: 激流とコーラスフルーツは、効果だけでなくクリックの時点で拒否されるようになりました。例外にできるのはバイパス権限だけです。ノードが明示的に
falseでない限り、オペレーターはその権限を持っています。 - Dungeon Category: スロットのフィールド
unlockedLoreとlockedLoreはunlockLoreとlockLoreになりました。旧名で保存したページも引き続き読み込まれ、両方ある場合は新しいほうが優先されます。 - MMOProfiles: プレイヤーがプロファイルを選んだあと、入口の地点への復帰と元のゲームモードが再び適用されます。
- 修正:
runs_leftは、プレイヤーをランから外す死亡を数えなくなりました(deathsには残ります)。waves_clearedはwavesを定義したグループだけを数えます。%typewriter_dungeon_stat_current_health%はラン中の現在の体力を表示します。統計の書き込みはエラーのあとに保存を止めなくなりました。リロード時にメンバー全員がオフラインのため閉じられたランは、不在のメンバーのプレイ時間も数えます。 - 既存のダンジョンは、これらのフィールドを使わない限り何も変わりません。すべてのモブを倒すとチェストが現れる設定は、ダンジョンのエンティティを参照してください。
1.1.1
- Paper 26.x:
WORLD_PER_RUNのランがThe server did not create world 'dungeon_classic_...'で失敗することがありました。テンプレートのコピーがテンプレートのワールド ID(data/paper/metadata.dat)を引き継いでいたため、サーバーが重複として拒否していました。コピーは独自の ID を持つようになりました。
1.1
- 以下で説明する改修の公開版です。1.0 からの修正:
WORLD_PER_RUNが Paper 26.x 形式(dimensions/minecraft/<name>)で保存されたテンプレートワールドをコピーするようになりました。
1.0
これは、ランのモデルを軸にした、拡張機能の作り直しです。0.10 を使っていたサーバーを更新する前に、移行ノートをご覧ください。
ランとワールド
- ランが、専用のステートマシン、レジストリ、ジャーナルを持つようになりました。ランの開始は全部か、なしかです。ステップが失敗すると何も残らず、参加コストは返金されます。
- ダンジョンごとに
isolationで設定する 3 つの隔離モード:SLIME_CLONE、WORLD_PER_RUN、SHARED_WORLD_SLOTS、そしてAUTO(デフォルト)。動作できないモードは、ランを拒否します。ランとワールドの隔離を参照してください。 - Paper 26.x 方式(
dimensions/minecraft/<name>)で保存されたワールドが、SHARED_WORLD_SLOTSでは見つかり、WORLD_PER_RUNではコピーされるようになりました。ワールド準備の問題は、完全なスタックトレースではなく 1 行でログに記録されます。 typewriter reloadや Publish で、進行中のランを再び引き継ぎます。サーバーの再起動では、ランはきれいに終了します。cooldownSecondsが本物の制限時間になりました。0または空は無制限を意味します。- 孤立したランのワールドは、起動時に、ガード(名前、マーカーファイル、読み込み済みワールドは決して対象にしない)付きで削除されます。
- 統計が書き込まれます。ダンジョンごと・プレイヤーごとの、挑戦回数、クリア回数、ベストタイム。
damageMultiplierとダンジョンのcriteriaが適用されます。
生成型ダンジョン
- 新しいエントリ: Dungeon Room Template、Dungeon Connector Type、Dungeon Room Pool、Dungeon Generator、Dungeon Affix、そして扉とマーカー用のゲーム内エディタ。
generatorを持つダンジョンは、ランごとに組み立てられます。同じシードからは同じダンジョンができます。生成型ダンジョンを参照してください。
ルーム、イベント、ファクト
- ルームの
onEnterとonLeaveのトリガー、enterOnce、leaveOnce、priority、criteria、modifiersが機能します。新しいverticalMarginフィールド。 - 新しいイベント: on_dungeon_start、on_dungeon_complete、on_dungeon_room_enter、on_dungeon_room_leave、on_dungeon_mob_death。
- ファクト
indungeonとindungeon_instanceが機能します。新しいファクト dungeon_mobs_alive。 - 新しいアクション: Dungeon Complete、Dungeon Clear Room、Dungeon Spawn Mobs。
- 新しい Dungeon Run Audience と Dungeon Run Group。
メニューとロビー
- メニューは、リアルタイム(
autoRefreshTicks)に、またいずれかのロビーが変化したときに更新されます。 - 待機中のスコアボードが機能します。
DUNGEON_LOBBY_SLOTマーカーでロビーを配置します。スロットのcriteriaは、プレイヤーごとに評価されます。 - パーティメニューは、自分のダンジョンを指定できます(
dungeonInstance)。空のものは、他のどのメニューにも指定されていないすべてのダンジョンを担当します。 - MMOCore、Parties、Typewriter のパーティ拡張機能のパーティは、読み取りのみです。
チェスト
- プレイヤーとチェストごとに 1 回のロール、
visibility(AUTO、PER_PLAYER、SHARED)、onDisappear、lootSelection、weightedPicks、チェストのアニメーション、yaw からの向き、CraftEngine と Nexo のブロック、リロード後のチェストの復元。
ダンジョン内のエンティティ
- Dungeon NPC Instance: 任意のエンティティ定義から作る、ランごとの NPC。ランのメンバーに表示されるようになりました。
- Dungeon Mob Spawn: バニラの戦闘モブ。ランごとに一度、上限(
maxAliveMobs)付き。ダンジョン内のエンティティを参照してください。
プレイヤー向けテキストと新しいフィールド
- メニュー、ロビー、ランのサイドバー、戦利品チェスト、開始拒否のテキストはスニペットです (
content.dungeon_menu.,content.dungeon_lobby.,content.dungeon_run.sidebar.,content.dungeon_chest.,content.dungeon_launch.). デフォルトは変更されていません。/typewriter dungeon ...コマンドの返信もスニペットです(content.dungeon_command.)。 - Dungeon Instance の新しいフィールド
lobbyIdleKickSeconds(デフォルトは120)。 - Loot Chest Trigger の新しいフィールド:
triggerSoundVolume、triggerSoundPitch、triggerParticleCount、triggerParticleSpread、triggerParticleSpeed。broadcastMessageはカラーコードを受け付けます。
コマンド
- 一度も動作しなかった
startサブコマンドを削除しました。コマンドはインデックスに記載されています。
既知の制限
- Paper のみ。Folia はサポートされません。
- 生成型ダンジョンは
WORLD_PER_RUNのみを使います。 - ダンジョン内で MythicMobsNPC のシネマティックを再生することは、未検証です。
0.10
スタンドアロンビルド。ルームのトリガー、2 つの「in dungeon」ファクト、NPC インスタンス、統計は、宣言されていましたが、有効ではありませんでした。