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

変更履歴

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 が適用されます。

生成型ダンジョン​

ルーム、イベント、ファクト​

  • メニューは、リアルタイム(autoRefreshTicks)に、またいずれかのロビーが変化したときに更新されます。
  • 待機中のスコアボードが機能します。DUNGEON_LOBBY_SLOT マーカーでロビーを配置します。スロットの criteria は、プレイヤーごとに評価されます。
  • パーティメニューは、自分のダンジョンを指定できます(dungeonInstance)。空のものは、他のどのメニューにも指定されていないすべてのダンジョンを担当します。
  • MMOCore、Parties、Typewriter のパーティ拡張機能のパーティは、読み取りのみです。

チェスト​

  • プレイヤーとチェストごとに 1 回のロール、visibility(AUTO、PER_PLAYER、SHARED)、onDisappear、lootSelection、weightedPicks、チェストのアニメーション、yaw からの向き、CraftEngine と Nexo のブロック、リロード後のチェストの復元。

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

プレイヤー向けテキストと新しいフィールド​

  • メニュー、ロビー、ランのサイドバー、戦利品チェスト、開始拒否のテキストはスニペットです (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 インスタンス、統計は、宣言されていましたが、有効ではありませんでした。