変更履歴
公開されている BTC Studio エクステンションのリリースノートです。各リリースについて、 エクステンション、そのバージョン、サーバー管理者にとって何が変わったかを、新しい順に記載し、 リリースとエクステンションのドキュメントへのリンクを付けています。
有料エクステンションはドキュメントへのリンクのみで、ダウンロードはストアで 提供されます。非公開のエクステンションはここには記載されていません。
2026-10-16
Dungeon v1.2
すべての変更は Dungeon の変更履歴に記載されています。既存のダンジョンは、新しいフィールドを使うまで何も変わりません。
- GUI(OmniGUI)0.20 が必要: ダンジョンのリーダーボードは GUI 0.20 のリーダーボードソースを使い、古い GUI では読み込まれません。先に GUI を更新してください。
- 共有ルート: 新しい Dungeon Loot Table エントリを、チェスト(
lootTableRef)とモブ(lootTable)で使えます。チェストは最初に開いたとき、モブは倒れたときに一度だけ抽選します。 - チェストを増やす:
additionalLocationsで、1 つの Dungeon Loot Chest エントリから複数のチェストを置けます(生成型ダンジョンでは無視)。Loot Chest Trigger にparticleEffectが加わり、X・Y・Z 軸を別々に指定できます。 - ウェーブとスケーリング: Dungeon Mob Spawn に
waves、maxSimultaneous、人数に応じたスケーリング(perExtraPlayer、maxCount、playerCountSource)、spawnParticle、トリガーonWaveClearedとonClearedが加わりました。新イベント On Dungeon Mobs Cleared で、すべてのモブを倒したときにドアを開けたりチェストを出現させたりできます。 - 制限: 新しい Dungeon Restrictions エントリ(エリトラ、ボートまたはトロッコ、エンダーパール、コーラスフルーツ、激流、ブロックするコマンド、拒否メッセージ、バイパス権限)。
gameMode、limitInteractions(許可する操作、保護するエンティティ)、messageRepeatDelayも指定できます。激流とコーラスフルーツはクリックの時点で拒否されます。例外にできるのはバイパス権限だけで、ノードがfalseでない限りオペレーターはそれを持っています。 - 統計: プレイヤーごとに 22 の統計をアーティファクト単位で集計し、複数アーティファクトの合計も取れます。与ダメージ・被ダメージ(実際に失った体力のみ)、キル数、クリアしたウェーブとルーム、プレイ時間、死亡、記録など。数えるモブは
statsMobScopeで選びます。プレイヤーをランから外す死亡はruns_leftに数えられなくなりました。新ファクトdungeon_stat、プレースホルダーdungeon_stat_<key>[_raw]、dungeon_total_<key>、dungeon_inst_<id>_<key>、スニペットcontent.dungeon_stats.duration_formatとcontent.dungeon_stats.missing_value。 - リーダーボード: 新エントリ
dungeon_leaderboard_source(LIFETIMEまたはCURRENT_RUN、rankBy、values、durationFormat、decimals)を GUI リーダーボードのsourceフィールドに接続できます。 - 再接続:
reconnectGrace(既定 2 分)。切断したメンバーは席を保持し、元の状態(サイドバー、非表示、ゲームモード)から再開します。時間が過ぎるとランから外れ、次の接続時に入口の地点へ戻ります。 - MMOProfiles: プロファイル選択後に、入口の地点への復帰と元のゲームモードが再び適用されます。
- メニュー: Dungeon Category のスロットフィールド
unlockedLoreとlockedLoreはunlockLoreとlockLoreになりました。古いページも引き続き読み込まれ、両方ある場合は新しいキーが優先されます。 - アドオン向けの API 破壊的変更:
DungeonArtifactData、DungeonStats、PlayerDungeonStatsはパッケージbtcrenaud.dungeons.coreに移動し、DungeonArtifactEntry.getPlayerStatsとupdateのシグネチャが変わりました。Dungeon 1.1.x に対してコンパイルしたアドオンは再コンパイルが必要です。
GUI v0.20
- ルートを返す: simple レイアウトの
dropOnCloseは、メニューを閉じるときに、プレイヤーが取らなかったもの、またはそこに置いたものを返します。closeDeliveryでGIVE_OR_DROP(既定。インベントリへ、あふれた分は足元へ)かDROPを選べます。既定ではオフです。 - ランダムなアイテム:
rollPerSlotは、繰り返したスロットすべてで 1 回ではなく、スロットごとにランダムなアイテムを抽選します。新しいliveItemは、更新のたびにもう一度抽選します。 - 空の名前は無視: 名前が空のアイテムは、名前なしで表示されず、アイテム本来の名前を保ちます。
- 他の拡張機能からのリーダーボード行:
gui_leaderboardに新しいsourceフィールド。行はソースエントリから供給され、オンライン・オフラインを問わず全プレイヤーが対象です(Dungeon のものなど)。行のテキストでは{score}、{score_raw}、{value_<key>}が使えます。ソースのテキストはプレーンテキストで、<red>のように MiniMessage タグに見える名前でも順位が変わらなくなりました。
MythicMobs v0.12
- 一部のプレイヤーにだけ見えるモブ:
spawn_mythicmobs_mobとmythic_spawnerに新しいvisibilityCriteriaフィールドを追加しました。モブは、criteria を満たすプレイヤーにだけ見え、狙われ、傷つけられます。criteria は継続的に再評価されます(visibilityRefreshInterval、既定は 1 秒)。visibilityGroupはスポーン時に固定されず、リアルタイムで追従されるようになりました。 collidable(spawn_mythicmobs_mob、mythic_spawner、既定true):falseにすると、全員に対して衝突と押し出しがなくなります。- 放棄:
spawn_mythicmobs_mobに新しいabandonRangeとabandonDelayフィールドを追加しました。許可されたプレイヤーが遅延の間ずっと範囲内にいない場合、モブは削除されます(abandonRangeが0なら無効)。Web エディタは新しい Duration を 1 秒で埋めるため、abandonDelayを確認してください。 despawn_mythicmobs_mob: 新しいscopeフィールド。ALL(既定、従来どおり)またはVISIBLE_TO_PLAYER(そのプレイヤーに見えるモブだけ)。- 保護: 制限付きモブに関わるすべてのダメージ(近接、飛び道具、MythicMobs スキル、炎)は、許可されていないプレイヤーに対して遮断され、その逆も同様です。飛び道具は通り抜け、モブは許可されていないターゲットを手放します。
- MythicMobs 条件
typewritervisible(エイリアスtwvisible): ダメージのないスキル(ポーション、投げ飛ばしなど)にターゲッター内(conditions=[ - twvisible true ])またはTargetConditionとして追加すると、モブを見られないプレイヤーをスキップします。MythicMobs のファイルで使用されている場合、拡張機能は起動時に一度だけ/mm reloadを実行します。 - 元のエントリーが削除されたモブは、全員に対して非表示のままです。
- 制限: 衝突は全か無か。ダメージのないスキルは
twvisibleがなければフィルタされない。モブから離れた場所のサウンドとパーティクルは隠されない。
Shops v1.12
- GUI 0.20 に対して再ビルドしました。今後は GUI 0.20 が必要です。以前のバージョンは GUI 0.20 ではメニューが開きません。それ以外の変更はありません。
Quest Codex v2.16
- GUI 0.20 に対して再ビルドしました。今後は GUI 0.20 が必要です。以前のバージョンは GUI 0.20 ではメニューが開きません。それ以外の変更はありません。
Corpse v0.7
- GUI 0.20 に対して再ビルドしました。今後は GUI 0.20 が必要です。以前のバージョンは GUI 0.20 ではメニューが開きません。それ以外の変更はありません。
Numerical Storage v0.15
- GUI 0.20 に対して再ビルドしました。今後は GUI 0.20 が必要です。以前のバージョンは GUI 0.20 ではメニューが開きません。それ以外の変更はありません。
2026-10-12
Dungeon v1.1.1
- Paper 26.x、
WORLD_PER_RUN: ランがThe server did not create world 'dungeon_classic_...'で失敗することがありました。テンプレートのコピーがテンプレートのワールド ID(data/paper/metadata.dat)を引き継いでいたため、サーバーが重複として拒否していました。コピーには専用の ID が付くようになりました。
2026-10-08
Dungeon v1.1
ラン(run)を中心に作り直した全面的なリワークです。隔離されたワールド、生成されるダンジョン、ランごとの NPC、バニラのモブを備えています。0.10 から更新する前に移行のお知らせをお読みください。すべての変更は Dungeon の変更履歴に記載されています。
- ラン: 各ランは独自の状態とジャーナルを持ちます。ランの開始は全か無かで行われ、失敗した場合は参加費が返金されます。
/tw reloadと Publish は、実行中のランを終了させずに引き継ぎます。 - 隔離: ダンジョンごとに 3 つのモード(
SLIME_CLONE、WORLD_PER_RUN、SHARED_WORLD_SLOTS)またはAUTOを選べます。 - 生成されるダンジョン: 部屋テンプレート、コネクター、プール、ジェネレーター、アフィックスに加え、ドアとマーカー用のゲーム内エディターがあります。
- NPC とモブ: 任意のエンティティ定義からランごとの NPC を作成し、そのランのメンバーにのみ表示します。バニラの戦闘モブはランごとに 1 回スポーンし、生存数の上限があります。
- テキスト: プレイヤー向けのテキストはすべて編集可能なスニペットです。Paper のみ対応です。
- コマンドの返信:
/tw dungeonコマンドのすべての返信(管理コマンドを含む)は、編集可能なスニペットです(content.dungeon_command.)。 - 統計: MMOProfiles が入っている場合は MMOProfiles のプロファイルごとに、入っていない場合はプレイヤーごとに保存されます。
- Paper 26.x のワールド: Paper 26.x 方式(
dimensions/minecraft/<名前>)で保存されたワールドが、SHARED_WORLD_SLOTSでは見つかり、WORLD_PER_RUNではコピーされるようになりました。
MythicMobs NPC v5.0
- ダンジョン内の NPC:
tickingがオフの場合、Dungeon 1.0 によって配置された NPC はそのランのメンバーにのみ表示され、クリックすると正しいプレイヤーに 1 回のインタラクションが与えられます。 - Bone Visibility Data と Attachment Data が、
tickingのオン・オフを問わず NPC モデルに適用されるようになり、リスポーンのたびに再適用されます。 - Play Animation:
forceは、そのアクションがその NPC で開始した他のアニメーションを停止するようになりました。speedが 0 以下の場合は通常の速度で再生されます。 - MythicMob Skill Objective:
skillNameは、MythicMobs のメカニクスtypewriterSkill{name=..}(エイリアスtwskill)を通じて動作するようになりました。これをスキルに追加し、/mm reloadを実行してください。進行状況はfactに保存され、以前の進行状況は自動的に移行されます。このメカニクスはウェブエディターからの Publish 後も維持されます。Typewriter を完全に停止して起動し直した後は、コンソールが/mm reloadを要求します。 - ルート目標: ルートのアイテム名とモブ名が色付きで読みやすく表示されます(以前は技術的なテキストでした)。完了マーク ✔ は、他の目標系エクステンションと同じものになりました。
MMOItems v2.4
- Advanced Tooltip Config:
overrideDefaultLoreが読み込まれるようになりました。オフの場合、システムが無効の場合、またはエントリがない場合は、MMOItems のロア全体がページ分割も比較もなく 1 ページで表示されます。 - ロアのタグ: MMOItems のロア形式のタグ(
<page_break>,<category_image>,<pagination_indicator>,<comparison_indicator>,<requirement_met>,<requirement_not_met>,<total_pages>,<current_page>,<comparison_value>,<comparison_sign>)は常に置換または削除されるようになり、プレイヤーに生のテキストとして表示されることはなくなりました。 - クリエイティブモード: ページ分割と高度なロアはサバイバルとアドベンチャーでのみ適用されます。クリエイティブでは、クリエイティブクライアントが表示したとおりにアイテムを送り返すため、ロアを書き換えると実際のアイテムが変わってしまうので、MMOItems のロアはタグを含めてそのまま残ります。
- Web エディタでエントリを作成すると、フィールドは動作する値で始まります(
isEnabled、overrideDefaultLore、enableComparisonTagsはオン、paginationKeybindはSWAP_OFFHAND、comparisonKeybindはSNEAK、statsStartOnPageは 2、記号とインジケーターは既定値)。
Shops v1.11
perPlayerは、各プレイヤーに各アイテムの専用在庫を持たせるようになりました。リセットすると全員分が補充されます。制限は独自のスコープを保持します。defaultRefreshTicksとアイテムのrefreshTicksは、表示中の在庫が変わったときに、開いているショップを再描画します(有限在庫のみ。ショップで0にすると自動チェックは行われません)。- アイテムの
guiSlotは、すべてのページでコンテンツ領域の固定スロットにアイテムを固定します。配置できないアイテムは空いているセルに移動されるか、コンソールに報告されます。 sellAllEnabledがオフの場合、すべて売却するアクションはcannotSellMessageとともに拒否されるようになりました。- コマンドの返信、トレンドアイコン、Limited/Unlimited のロア、価格の行、デフォルト名、価格なしのテキスト、期間の書式が編集可能になりました。デフォルトのクールダウンの日は
dと表記されます(以前はj)。
GUI v0.19
gui_settingsのaudioDefaultsがフォールバックとして適用されるようになりました。Open GUI アクションで空のままのサウンドは、ここからサウンドごとに取得されます。- スクロール可能なレイアウトでは、
showDefaultButtonsがオン(デフォルト)の間、デフォルトの矢印が表示されます。buttonsエントリのない方向ごとに 1 つで、その方向にコンテンツをスクロールできる場合にのみ表示され、使用中のセルには表示されません。既存のスクロール可能なメニューに矢印が追加されます。 これまでどおりにしたい場合は、showDefaultButtonsを false に設定してください。 - スクロール可能なレイアウトに新しい
defaultStepフィールドが追加され、デフォルトの矢印を変更するための新しいgui_settingsのscrollArrowsリスト(direction、item、name、x、y)が追加されました。 gui_settingsにtextsを追加しました。Confirm と Cancel のボタン、およびストレージの進捗行を編集できます。「Confirmer」は「Confirm」になりました。破損して表示されていたパンくずリストの区切り文字も修正しました。
Quest Codex v2.15
typewriter.codex.openパーミッションがエクステンションによって宣言されるようになりました。デフォルトではオペレーターのみで、LuckPerms などのパーミッションプラグインに表示されます。- ナビゲーションのラベル、並べ替えのラベル、デフォルトのメニュータイトル、不明なカテゴリのメッセージを編集できます(
navLabels、sortTexts、mainMenuTitle、trackedQuestsTitle、unknownCategoryMessage)。
Vote System v0.9
- Vote Config が読み込まれるようになりました。
cooldownSecondsが 0 より大きい場合、プレイヤーはその秒数が経過した後に再び投票できます(カウントは累積されます)。debugは、受理された投票と拒否された投票をログに記録します。 - クールダウンが導入される前に保存された投票は、更新後の最初の接触時点の日付になるため、そのクールダウンはそこから始まります。
/tw voteコマンドの返信は、編集可能なスニペットです(content.vote.)。- MiniMessage の色: 終了メッセージ、新しい
blockedMessage、Vote Message の 2 つのテキストが、プレースホルダーを解決したうえで MiniMessage として読み込まれるようになりました(以前はタグがそのまま表示されていました)。コマンドの既定の返信には色が付きます。 - 拒否された投票は本当に拒否されます: Vote Action の
triggersとmodifiersは投票が記録されたときだけ実行されます。拒否時に受理メッセージが表示されることはなくなり、二重に発火することもありません。拒否時はclosedMessage(終了日時の後)または新しいblockedMessage(待機時間が終わる前)を表示し、新しいrefusedTriggersを発火します。debugがオンのとき、拒否はすべてログに記録されます。 - 新しいプレースホルダー
vote_has_voted_<id>とvote_closed_<id>(1または0)、およびvote_remaining_<id>(終了日時までの秒数、日時がなければ0)。
Discord v0.13
- Webhook Fact Event の
triggersは、Webhook が公開された後、fact の変更が公開されたプレイヤーに対して実行されるようになりました。 - Webhook Fact Event に新しい
triggerCooldownSeconds(デフォルト1)が追加されました。同じプレイヤーに対するtriggersの 2 回の発火の間のループ防止で、0で無効になります。
Custom Biome v0.9
- Explore Biome Objective が動作するようになりました。プレイヤーがバイオームに入ったときに
biomesとrequireAllが読み込まれ、新しいtriggersフィールドは、目標が完了してアクティブなときにエントリを実行します。目標自体が発見を記録するため、Enter Biome Event は不要です。 /tw biomeコマンドの返信と、バイオームのプレースホルダーのunknownテキストは、編集可能なスニペットです(content.custombiome.)。- Paper 26.3: カスタムバイオームが再び登録されるようになりました。26.3 では読み込みに失敗していました(ライブ注入とデータパックのフォールバックの両方)。
Numerical Storage v0.14
- メニューと各サブメニューの
optionalButtonsが描画されるようになりました。slotsの位置に表示専用のアイテムが置かれ、同じスロットにレイアウトが配置するものを置き換えます。 profileModeが MMOProfiles を使うようになりました。MMOProfiles のプロファイルごとに 1 つの残高を持ちます。MMOProfiles がない場合は、プレイヤーの残高になります。MMOProfiles があってアクティブなプロファイルがない場合(プロファイル選択中、または/mmoprofiles quitの後)は、表示される残高は 0 になり、書き込みは拒否されます。管理コマンドとメニューのアクションは、編集可能なnoActiveProfileMessage(adminMessages内)で応答し、何も書き込みません。プロファイルの利息は、そのプロファイルが選択されたときに精算されます。- 管理コマンドの返信を編集できます(
adminMessages)。プレースホルダーのテキストと期間の書式はスニペットです(numericalstorage.placeholder.、numericalstorage.duration.)。 - プレースホルダーは参加時にストレージを読み込むようになり、キャッシュが空の間も空の残高ではなく保存済みの残高を表示します。
- プレースホルダーとレベルアップグレードボタンが
profileModeに従うようになりました。/tw ns add/removeは、無効な金額やアーティファクト未設定に対して、編集可能なメッセージで応答します。
Puzzle v0.6
isSharedは、グループ(パズルのfactのグループ)の進行状況を共有するようになりました。最初のクリアがグループ全体にカウントされ、fact は 1 回だけ立てられ、各メンバーは完了メッセージ、onComplete、チェーンのステップを 1 回ずつ受け取ります(不在だったメンバーは戻ったときに受け取ります)。- プレイヤーは、グループを変更しても、自分に関わる管理者リセットが行われるまで、パズルの完了を最大 1 回しか受け取りません。
/typewriter puzzle admin reset <player> <id>は、共有パズルをグループ全体に対して再び開きます。 - 共有パズルには Puzzle Artifact が必須になりました。 これがないと、再起動のたびに完了が再度付与され、古いビルドに戻すと共有記録が失われます。
- プレイヤー向けテキストとコマンドの返信を編集できます。各パズルと Puzzle Menu のメッセージはエントリーのフィールド、
/tw puzzleの返信はスニペットです(content.puzzle.)。デフォルトがフランス語だったテキストは英語になりました。フランス語のテキストを保存しているページはそのまま保持されます。 - 修正、クライアント側のブロック: クリックがキャンセルされたときに、描かれたブロックが消えなくなりました。キャンセルされたクリックのたびに 1 ティック後に盤面が再描画されます(Laser Grid のミラーが右クリックで回転せずに消える、押し出しが拒否されたときに Block Push のブロックが消える、Memory・Pattern・Item Frame・Pedestal のクリックなど)。
- 修正、Block Push: 開始マスに押し戻されたブロックが跳ね返って消えることがなくなり、ブロックが上を通り過ぎた後の目標の穴が再び描かれます。拒否された押し出しは、クリックごとではなく、ブロックと目標マスごとに 1 回の失敗として数えられます。壁に対してクリックを押し続けても
maxAttemptsは消費されません。ワールド内の開始マスは空(空気)にしてください。allowPullは引き続き効果がありません(未実装)。 - 修正、Lever Order: オンの状態で待機するレバーが、順序の誤りの後に元の位置へ戻るようになり、切り替えも表示されます。失敗のクールダウン中のクリックは、実際のレバーに届かなくなりました。
- 修正、解決済みのパズル: 解決済みの Block Push、Combination Lock、Lever Order、Laser Grid は無効になり(盤面なし、キャンセルされる操作なし)、プレイヤーがオーディエンスに戻ってもレバーやボタンのクリックを妨げなくなりました。解決済みの Pedestal は、アイテムの回収を妨げなくなりました。
- Laser Grid:ビームはブロックの中心を通って描画され、各ミラーの位置でちょうど曲がるようになりました(以前はずれていました)。
beamDensityは1ブロックあたりのパーティクル数で、頂点は常に描画されます。 - Laser Grid、
maxBeamLength:新しいフィールドで、デフォルトは64ブロックです(0以下は64として扱われ、無制限にはなりません)。ビームがより長い盤面では値を上げてください。ビームはチャンクを読み込まず、読み込み済みのワールドの端で止まります。 - Combination Lock: 数字は 0 から番号が付けられます(最初に記載された位置が数字 0)。ヘルプに例を追加しました。数字の範囲外の
codeの値は、すべての入力を黙って無視する代わりに、コンソールに警告を記録するようになりました。
Corpse v0.6
- ワールドフィルター:
corpse_settingsのallowedWorldsとexcludedWorldsで、死亡時に死体を残すワールドを選べます。許可リストが空の場合はすべてのワールドです。ワイルドカード*と?(dungeon_*)、ワールド名、ディメンションキー(minecraft:the_nether)に対応し、除外は常に優先されます。許可されたワールドの外では、死亡はバニラのままです。 filteredWorldDeath: フィルターが拒否したワールドでは、VANILLA_DEATH_SCREEN(デフォルト)は通常の Minecraft の死亡(体と死亡画面はクライアントが描画)のままで、INSTANT_RESPAWNは次のティックに死亡画面なしでプレイヤーをリスポーンさせます。アイテムと経験値はバニラと同様に落ちます。両方のリストが空の場合は効果がありません。- すべてのテキストを編集可能: メッセージ、メニューのラベルとマテリアル、ウェイポイントの書式と 8 方向の矢印、
/corpsesの応答、死体のデフォルト名、回収オブジェクティブのテキスト。プレイヤーの名前はエスケープされ、クリック可能なタグになることはありません。 - 新しい設定
interactionReach(6 ブロック。サーバーはクリックの距離を確認していませんでした)、interactionCooldownMillis、unknownWorldLabel。定義はディメンションキーでも選べるようになり、/corpses listの見出しも編集できます。/corpses listとclearはサーバー全体に適用されます。 任意の新しいoutOfReachMessage(デフォルトは空:メッセージなし)。 - アイテムの消失・複製のチェック: 死亡、回収、保存を見直しました。以下の修正で、見つかった消失・複製の経路をすべて塞ぎます。
- 修正、死亡: 他のプラグイン(トーテム、蘇生)にキャンセルされた死亡で、プレイヤーの装備が取られなくなりました。
keepInventoryとkeepLevelが尊重され(keepInventoryでは死体なし)、他のプラグインがプレイヤーのために保持するアイテムは死体に複製されなくなりました。死体を作成できない場合、アイテムは通常どおりドロップします。 - 修正、略奪: インベントリがいっぱいの状態でアイテムを取ると、収まった分が複製される問題を修正しました。また、同じ死体を競ってクリックした 2 回のクリックで、中身が二重に渡されることがなくなりました。
- 修正、ストレージ: 再起動しても、すでに取得したアイテムが戻らなくなりました。読み取れない、または書きかけのストレージファイルで、保存された死体が消えることもなくなりました。復元された死体はポーズ、発光、名前、アニメーションを保持します(オーナーのスキンと防具は除く)。
- リスポーンメッセージ、ウェイポイント、オブジェクティブは最新の死体を使用し、ルートメニューは最初のクリックの後ではなく、開く前に警告します。
MythicMobs v0.11
mythic_spawner.groupが読み込まれるようになりました。スポナーを有効にするのはグループのメンバーのみで、criteriaはそのグループに対して確認され、各グループが独自のウォームアップとクールダウンを持ちます。オンラインのメンバーがいなくなると、グループの状態は破棄されます。- クエストトラッカーの MythicMob Kill Objective の行は、スニペット
advancedQuest.displayとadvancedQuest.completedで編集できます。
Enchantment Creator v0.11
- Agricultural Harvest は、ブロック破壊イベントを読み取り、プレイヤーが見ているブロックではなく、壊されたブロックの周囲にある成熟した作物を収穫するようになりました(
radiusの上限は 8)。 - Agricultural Harvest: 新しいフィールド
particle、particleCount、sound、soundVolume、soundPitchが追加されました。 - プレイヤーが
/enchantcreator giveに入力した内容(エンチャント名)は、返信にそのまま表示され、書式として解釈されることはありません。
TextDisplayDialogue v2.4
- 編集できるテキスト: 15 個のスニペットがすべて読み込まれるようになりました。Spoken、Option、Player option の各ダイアログとシネマティックの字幕のレイアウト、話し手の名前、テキストの行、ヒント、選択肢の行、選択肢のプレフィックスを
plugins/Typewriter/snippetsで編集できます。既定値は従来の表示を再現します。 - タイマーのプレースホルダー:
%typewriter_textdisplaydialogue_timer%が PlaceholderAPI に登録され、ダイアログの外でも使えるようになりました(タイマーが動いていないときは0)。 - 編集できるメッセージを 2 つ追加:
textdisplay.inventory.blocked(ダイアログ中のインベントリ禁止)とtextdisplay.error.init(表示を開始できなかった)。スニペットが空ならメッセージは表示されません。初期化エラーの原因はサーバーログにのみ出力され、例外の詳細はプレイヤーに表示されなくなりました。Player option ダイアログもtextdisplay.speaker.formatとtextdisplay.option.*のスニペットを読み込みます(既定の表示は同じ)。 audioProfileを削除:textdisplay_spokenのこのフィールドは一度も読み込まれていませんでした。- Paper のみ: Folia には対応していません。
ドキュメントから削除
- BTC Nameplates: UiCore に統合されました(同じエントリ、
/nameplates)。古いページは UiCore にリダイレクトされます。 - MMO Profile: 開発中止となり、リリースされませんでした。そのページは削除されました。
2026-10-02
MythicMobs NPC v4.9.1
Paper 26.x におけるインタラクション、アニメーション、シネマティクスの修正です。
- クリック: Paper 26.x で右クリックが再び動作するようになり、
LEFT_CLICKとALLも発火するようになりました。1 回のクリックでダイアログは 2 回ではなく 1 回だけ発火し、/tw reloadがNoClassDefFoundErrorでクリックを壊すこともなくなりました。 - Play Animation: 速度が空のままのアクションは最初のフレームで固まって再生されていましたが、通常の速度で再生されるようになりました。また、
tickingが無効な NPC でも動作し、アイドル、歩行、MythicMobs スキルのアニメーションの上に重ねて再生され、モデルがまだ読み込まれていない場合は読み込みを待ちます。 - 別のワールドでのシネマティクス: エンティティシネマティクスの NPC がプレイヤーの前のワールドに残っていたため、数回起動しないと表示されませんでした。最初の起動からアニメーション付きで表示されるようになりました。
- シネマティクス中の移動: 歩行がより滑らかになり、アイドルと歩行の切り替わりの繰り返しや、近距離での ModelEngine のちらつきがなくなりました。
- クリーンアップ: シネマティクスの後、見えない NPC キャリアーがワールドに溜まらなくなりました。
CraftEngine v1.1
- クエストゾーンのオーディエンス:
dispose()は常に状態をクリアし、破棄フラグをリセットするため、/tw reloadで以前のエクステンションのクラスローダーを保持するリスナーがリークしなくなりました。
2026-09-19
GUI v0.18
- スロット重複の警告で
gapが明記されるようになり、これが間隔ではなくステップであることも案内されます。gap: 1は、各コピーの間に空きスロットが 1 つあるという意味ではなく、スロットが隣接するという意味です。繰り返されたスロットが、そのコピーの間に置かれた装飾と衝突するのが、この警告の最も一般的な原因です。 - Quest Codex 0.3.0 より前の計算式(適用されるステップが
gap + 1)で作成されたメニューは、まさにここに該当します(Quest Codex v2.14 を参照)。
Quest Codex v2.14
- Quest Codex 0.3.0 で行われた、告知されていなかった破壊的変更をドキュメント化しました。 それまで、codex のマーカーは独自の繰り返し計算式を使用しており、
gapは間隔(ステップはgap + 1)でした。0.3.0 以降は、gapがステップである GUI エンジンの計算式を使用します。x=2 からcount: 3, direction: right, gap: 1を指定すると、以前は x=2, 4, 6 でしたが、現在は x=2, 3, 4 になります。 - そのため、0.3.0 より前に作成されたメニューでは、マーカーが 1 スロットずつ詰めて配置され、その間にある装飾と衝突する可能性があります。以前の間隔を復元するには、ステップを 2 倍にしてください。
gap: 1をgap: 2にします。 ステップの意味は維持されています。 - インデックス付きマーカーは、
countとrepeatYと同様にgapもリセットするようになったため、メニューの検証で、それらに対する孤立した繰り返しが報告されなくなりました。 - GUI v0.18 に対してビルドされています。
2026-09-14
GUI v0.17
gapが0の場合に、繰り返されたすべてのコピーが原点のセルに積み重なることがなくなりました。Web エディターは、触れていないgapを0として保存します。そのため、count: 7とdirection: rightを持つQUEST_SLOTが、同じ位置に 7 つのマーカーを生成し、自分では書いていない "Slot overlap" の警告が出ていました。gapは、countやrepeatYと同様に、少なくとも1に強制されるようになりました。- この修正は、共有のスロット繰り返しコードにあるため、Quest Codex と Shops は、再ビルドなしで適用されます。
Shops v1.10
- バーター: アイテムによる支払い。 新しい
priceMode: ITEMSは、通貨の代わりに、1 つまたは複数のアイテムと引き換えに商品を販売します。アイテムのitemPriceは、コスト(購入 1 単位あたりのアイテムと数量)を列挙し、ショップのdefaultItemPriceは、価格を宣言していないすべてのITEMS商品を対象にします。商品自身のリストはショップのリストを置き換えるもので、加算されることはありません。 - どこにも価格がない
ITEMS商品は、拒否されてログに記録され、無料で渡されることはありません。支払いは、何かを取り除く前に、インベントリ全体でシミュレートされ、バーターには払い戻しがないため、購入するアイテム用のスペースが先に確認されます。 - 新しい
cannotAffordItemsMessage(トークン{missing}、{amount})と、要求されるアイテムごとに 1 行となる、ロアのトークン{item_price}。このような商品では、{buy}と{sell}の行は削除され、buy_price/sell_priceのプレースホルダーはダッシュを返します。 - 「最大数を購入」は、バーター商品でも機能します。
ITEMS商品を、通貨で売り戻すことはできません。売却価格はゼロです。 - GUI v0.17 に対して再ビルドされました。
2026-09-09
Puzzle v0.5
- 修正: エクステンションのリロード後に、
PuzzleRenderersでNoClassDefFoundErrorが発生する問題。 エクステンションは、エンジンのプラグインに 2 つの Bukkit リスナーを登録したまま削除しなかったため、古いインスタンスが、閉じられたクラスローダーに対して動作し続けていました。エクステンションのシャットダウン時に、両方が登録解除されるようになり、リロードのたびにコピーが 1 つ余分に溜まることもなくなります。 - エクステンションが停止する時点で、すでにスケジュールされている視覚的な更新が、停止したローダーでクラスの読み込みを引き起こすことがなくなりました。
2026-09-08
Shops v1.9
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
- GUI v0.16 に対してビルドされています。
Discord v0.12
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
Companion v0.10
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
Corpse v0.5
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
Custom Biome v0.8
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
InputTracker v0.5
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
Numerical Storage v0.13
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
Puzzle v0.4
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
Vanilla v1.4
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 目標の進行状況テキスト(収集、カウント、ファクト確認の目標)が、プレイヤーを使って解析されるようになり、その中のプレースホルダーが、そのプレイヤーに対して解決されます。
Vote System v0.8
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
Enchantment Creator v0.10
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - メカニクスのアクションは、エクステンション独自のスケジューラーヘルパーではなく、Typewriter 自身の同期ディスパッチャーを通じてスケジュールされるようになりました。
MMO Inventory v0.7
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
MythicMobs v0.10
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
GUI v0.16
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 閲覧者を表していたリーダーボードの行を修正しました。ランク付けされたプレイヤーの行は、メニューを開いた人ではなく、そのプレイヤーに対して、アイテム、名前、ロアの
Varを解決するようになったため、すべての行が閲覧者の値を表示することはなくなりました。ワールド、グループ、オフラインの行は、閲覧者にフォールバックします。
Quest Codex v2.13
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
- GUI v0.16 に対してビルドされています。
Tracking v0.11
- Typewriter エンジン
0.9.0-beta-177に対して再ビルドされました。 - 動作の変更はありません。
2026-09-06
Shops v1.8
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
- GUI v0.15 に対してビルドされています。
Discord v0.11
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
Companion v0.9
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
Corpse v0.4
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 遺体のネームプレートが、エンジンの
CustomNamePropertyを使用するようになりました。 - GUI v0.15 に対してビルドされています。
Custom Biome v0.7
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
InputTracker v0.4
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
Numerical Storage v0.12
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
Puzzle v0.3
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
Vanilla v1.3
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - エンティティのアクティビティ(視認検知、追従、周回、回避、聴覚、嗅覚、巡回など)が、0.9 エンジンのアクティビティのライフサイクルに移植されました。エントリー名は変更されていません。
Vote System v0.7
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 破壊的変更:
vote_actionのフィールド名を変更。optionはoptionIndex(0 から始まる単純な数値)に置き換えられます。既存のすべてのvote_actionで、選択肢を選び直してください。 - 破壊的変更:
vote_messageのフィールドを分割。messageはnotVotedMessageとalreadyVotedMessageに置き換えられます。すでに投票したプレイヤーにメッセージを送らない場合は、後者を空のままにします。 vote_dataは、artifactIdのデフォルトがvote_storageになりました。リロード後も投票内容を保持するには、固定の名前を設定してください。- 新しい
vote_config(debugとcooldownSecondsを含む)、vote_fact、vote_cast_eventエントリーが、エディターに表示されます。
Dialog Menu v0.7
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
Enchantment Creator v0.9
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
MMO Inventory v0.6
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
MythicMobs v0.9
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
GUI v0.15
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
Quest Codex v2.12
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
- GUI v0.15 に対してビルドされています。
Protection v1.3
- 非推奨: これは Protection の最終リリースです。 新規の導入では、Typewriter ネイティブのリージョンシステムが後継となります。
- このエクステンションは、既存のサーバー向けに維持され、新機能は追加されません。
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。
Tracking v0.10
- Typewriter エンジン
0.9.0-beta-176に対して再ビルドされました。 - 動作の変更はありません。
2026-08-29
GUI v0.14
- ファクトのリーダーボード。 新しい
gui_leaderboardデフィニションは、1 つ以上のファクトの値に基づいて、プレイヤー、ワールド、または Typewriter グループをランク付けし、任意のopen_guiプールにある、新しいleaderboardレイアウトで描画されます。行は、{rank}、{name}、{score}、{group}、{world}、{score_<fact_id>}を受け付けます。 - 新しい
gui_leaderboard_populationアーティファクトは、オフラインのプレイヤーの最後に判明した値を保持するため、リーダーボードは、接続中のプレイヤー以外もランク付けします。 - ストレージスロットの新しい
dropOnCloseは、閉じたとき、Esc を押したとき、切断したときに、残りの内容物をプレイヤーの足元にドロップします。 temporaryのストレージスロットがクリアされない問題と、一致するカーソルのアイテムに対する Shift + 右クリックで、預け入れではなく取り出しになる問題を修正しました。- 空の
viewPermission/clickPermissionは、パーミッションとして扱われなくなりました。Web エディターが保存した未設定の制限が、オペレーター以外のすべてのプレイヤーに対して、スロットやタブを非表示にしていました。 - 起動時の検証が
leaderboardレイアウトを認識し、インベントリの外にあるランクエリアを報告するようになりました。
Quest Codex v2.11
- GUI v0.14 に対して再ビルドされました。
Shops v1.7
- GUI v0.14 に対して再ビルドされました。
Corpse v0.3
- GUI v0.14 に対して再ビルドされました。
Numerical Storage v0.11
- GUI v0.14 に対して再ビルドされました。
2026-08-24
Shops v1.6
- 新しいオペレーター用コマンドツリー
/tw shop admin: ショップの一覧、デフィニションの確認、プレイヤーのセッション制御、実行時のリセット、アイテムの在庫の直接管理、取引履歴。 - 新しいパーミッション
typewriter.shop.admin(OP のみ)。typewriter.shop.openは、デフォルトでプレイヤーが引き続き利用できます。 - 手動のリセットは、自動リセットと同じ動作を共有し、次回の予定リセットを再計算します。
- オペレーター以外もショップを開けるよう、公開コマンドのパーミッション登録を修正しました。
2026-08-16
Discord v0.10
- ファクトの Webhook。 新しい
webhook_fact_eventは、ファクトの変更を、プレイヤー、Typewriter グループ、グローバルのスコープで、任意のwebhook_definitionの宛先に公開します。任意で、オーディエンス、値の条件、メッセージと埋め込みのテンプレート、フォーラムスレッド、ロールのメンションに対応します。グループとグローバルのスコープでは、同じファクトを監視しているプレイヤーからのコールバックが、重複排除されます。 - Discord との連携は完全に任意です。
discord_link_manifestがない場合、エクステンションは、Discord ブリッジを初期化せず、JDA のクラスも解決しなくなりました。 - 無効または不完全な JDA は、サーバースレッドで
NoClassDefFoundErrorをスローする代わりに、クライアントによって報告されます。 - 公開リリースに、JDA 6.5.0 とその実行時の依存関係が同梱されるようになりました。
2026-08-21
GUI v0.13
- ライブスロットアイテム。
itemProviderは、描画時に、スロットのアイテム、名前、ロアを再構築します。レイアウトのスロットは 1 度だけ解析され、描画のたびに同じリストが返されるため、ロアのプレースホルダーやカウントダウンは、1 度解決された後に固定されていました。autoRefreshTicksは、同一のインベントリを永遠に再描画していました。 - 同時に進行する、ウィンドウのオープンは 1 つだけ。
GuiFactory.open()は 1 tick 後に完了するため、それまでは、最前面のインベントリは前のビューのままで、すべての描画が再オープンを決定していました。2 回目のオープンが最初のウィンドウを閉じ、その閉鎖が本物の閉鎖と読み取られて、メニューが画面に残ったままセッションが破棄され、すべてのボタンが反応しなくなっていました。 - 長さが
0のアニメーションは、アニメーションとして扱われなくなりました。パネルはすべてのスロットにデフォルトのアニメーションブロックを付与するため、装飾アイテムがインデックス 0 で描画され、それらがスケジュールした再描画が、保留中のオープンと競合していました。 - タグ付きボタンは、作者自身のインタラクションを保持します。 以前は、
buttonTypeを入力すると、インタラクションのリスト全体が破棄されていたため、どのリゾルバーも要求しないマーカー(プレフィックスの誤り、大文字小文字の誤り、その画面に所有するエクステンションがないなど)は、コンソールに何も出ないまま、クリックしても無反応のアイテムになっていました。
Quest Codex v2.10
- 描画できないメニューは、起動時に報告されます。 クリック時に黙って失敗するのではなく、コンソールがまだ読まれているうちに報告されます。各メッセージは、症状ではなく、修正方法を示します。
open_guiシャーシ以前に作成されたページの、1 回限りの変換。 レイアウトプールは、category_menuから、参照されるopen_guiエントリーへ移動したため、古いスキーマで書かれたページは、エンジンがもう読み取らないレイアウトを保持していました。パネルでは完全に設定されているのに、何も描画されませんでした。- 実績のタイトルは、MiniMessage から JSON への正規の変換を通るようになったため、クエストのタイトルに書いた書式が、生成される実績にも維持されます。
- OmniGUI v0.13 が必要です。
Puzzle v0.2
- すべてのパズルに新しい
activationRadius。 デフォルトは16ブロック。パズルは、自身の座標があるワールドに立ち、その座標のいずれかからその半径以内にいるプレイヤーに対してのみ、描画と実行が行われます。0は距離のチェックのみを無効にします。ワールドのチェックは常に適用されます。 - 修正: パズルがすべてのディメンションで描画されていた問題。 クライアント側のブロックとパーティクルは、座標を持ちますが、ワールドを持たないため、オーバーワールドで設定されたレーザーグリッドが、ネザー、エンド、その他の訪れたワールドで、プレイヤーの目の前に描画されていました。
- 修正: プレイヤーがオーディエンスに参加した時点で、距離にかかわらずパズルが開始されていた問題。 記憶シーケンスは、何千ブロックも離れた場所や、別のワールドにいる人に対して、パターン全体を再生することがありました。シーケンスは、プレイヤーがボードに到達したときに始まるようになりました。
- 離れると、クライアント側のボードがクリアされ、保留中のアニメーションがキャンセルされます。試行回数の持ち分、失敗後のクールダウン、
timeLimit、lifespanは、オーディエンスへの参加時ではなく、到着時に開始されます。
Custom Biome v0.6
- 破壊的変更:
biome_audienceを削除。 これは、ワールド自身のバイオームを読み取って「このプレイヤーはそのバイオームにいるか」に答えていましたが、クライアント側のオーバーレイがそれを変更することはないため、このエクステンションが描画するすべてのバイオームに対して、プレイヤーが画面で何を見ていても、false を返していました。どのような設定でも、機能させることはできませんでした。 - 2 つのエントリーがこれを置き換えます。
biome_overlay_audience(このプレイヤーがそのオーバーレイを持っているか)とbiome_region_audience(このプレイヤーがそのリージョン内に、ワールドを含めていて、いるか)です。biome_audienceを使用しているページは、どちらかに向け直す必要があります。 - リージョンのオーディエンスは、座標だけでなくワールドも照合するため、あるワールドで定義されたリージョンが、別のワールドの同じ座標に一致することはなくなりました。
ignoreYは、リージョンを無限の柱にします。 /tw biome region <entry>は、座標を手で入力する代わりに、現在の WorldEdit の選択範囲から、エントリーの 2 つの角を入力します。- プレイヤーごとのオーバーレイは、チャンクごと、所有者ごとに追跡されます。1 つのチャンクを複数のオーバーレイが覆うことができ、1 つが優先され、それをクリアすると、最後に塗られたパレットではなく、そのチャンクの本物のバイオームが復元されます。
Shops v1.5
- OmniGUI v0.13 に対して再ビルドされました。
GuiSlotに、描画時のitemProviderパラメーターが追加され、呼び出し元がリンクするコンストラクターが変わったため、v1.4 の JAR は、更新された GUI エンジン上でショップを開いた瞬間にNoSuchMethodErrorをスローし、インベントリが表示されませんでした。 - 動作の変更はありません。2 つのバージョンは一緒に提供されます。v1.4 は OmniGUI v0.13 では動作せず、v1.5 は v0.12 では動作しません。
Numerical Storage v0.10
- 同じ
GuiSlotのシグネチャ変更のため、OmniGUI v0.13 に対して再ビルドされました。 v0.9 の JAR は、ストレージメニューを開いたときにNoSuchMethodErrorをスローし、メニューが表示されませんでした。 - 動作の変更はなく、2 回目のマイグレーションもありません。スキーマ v2 のストレージは、v0.9 が書き込んだとおりに読み戻されます。
Corpse v0.2
- 同じ
GuiSlotのシグネチャ変更のため、OmniGUI v0.13 に対して再ビルドされました。 v0.1 の JAR は、遺体から略奪したときにNoSuchMethodErrorをスローし、略奪メニューが開かず、遺体はインベントリに触れられないままそこに残っていました。 - 動作の変更はありません。保存された遺体、そのインベントリ、保護ルールは、以前と同じように読み戻されます。
2026-08-12
GUI v0.12
- 拡張メニュー。
open_guiのextendToPlayerInventoryは、プレイヤー自身の 36 スロットを、4 つの追加のメニュー行に変え、10 行のキャンバスにします。この投影はクライアント側のみで、実際のインベントリには書き込まれず、メニューを閉じると復元されます。 - ID が
_extendedで終わるルートレイアウトは、自動的にこの投影を有効にするため、共有シャーシは、すべてのメニューでフラグを繰り返すことなく、通常版と拡張版の両方を提供できます。 DynamicMarkersは、解析の前に、繰り返されるコンテンツマーカーを、インデックス付きのもの(QUEST_SLOT#0、QUEST_SLOT#1、…)に変換するため、各エクステンションが、それらの意味を独自にコピーして持つ必要がなくなります。- スロットの繰り返しは、上限が設けられ、報告されるようになりました。グリッドの外にある位置は、破棄され、レイアウト ID と拒否された座標とともにログに記録されます。エディターは、
count/gap/repeatYがdirectionなしで設定されている場合に警告し、不明な値ではエラーにします。 gapがステップ(1 = 隣接)であること、そしてrepeatYがdirectionに垂直な軸で繰り返されることを、ドキュメント化しました。mainLayoutIdの継承を修正しました。子の空白の値が、継承された値に優先していたため、シャーシ全体を継承したページが、存在しないレイアウトを解決して、何も描画されず、クリックを受け取るボタンもありませんでした。- スロットの隠蔽には、単一の所有者があります。2 つのスロットが 1 つのセルを要求した場合、動作を持つほうが、描画時とクリック時に優先され、衝突は 1 回だけログに記録されます。
- 起動時の検証は、実際に失敗するものだけを報告するようになりました。 任意のものの不在を指摘するチェック(
frame.view.unresolved、slot.outOfFrame、layout.unreferenced)は、テンプレートアーキテクチャでは、欠陥ではなく設計を表すため、削除されました。残っているのは、失敗した、書かれた意図を指摘するものです。存在しないレイアウトを指すビュー、インベントリの外に出るスロット、同じ性質の 2 つのスロットが 1 つのレイアウト内で衝突している状態です。
Shops v1.4
- タブモード。
baseMenuIdは、ショップを共有メニューのタブにします。そのレイアウトプールとビューは、シャーシの下にマージされ、views、defaultViewId、コンテンツの矩形(contentX、contentY、contentColumns、contentRows)を持ちます。空のままにすると、ショップは以前とまったく同じように開きます。 - 拡張シャーシのサポート: 拡張シェルの内側で開かれたショップは、10 行のキャンバスになります。
defaultNameFormatとdefaultLoreFormatを追加しました。名前やロアを宣言していないアイテムは、ショップの書式を継承し、独自のものを宣言しているアイテムは、それをそのまま保持します。ショップの書式は、空白を埋めるだけで、作者の文言を上書きすることはありません。- どちらも同じトークンを受け付けます:
{item}、{buy}、{sell}、{stock}、{stock_max}、{currency}。利用できない価格を求めるロアの行は、空のまま描画されるのではなく、削除されます。 - 購入または売却が完了すると 1 回発火する、
ShopTransactionEventを追加しました。これは、他のエクステンションが、Shops にそれらの存在を知らせることなく、接続するための接点です。たとえば、Discord への中継や監査ログです。通知のみで、キャンセルはできません。 notificationWebhookIdを追加しました。Shops はこれを解決せず、Webhook が何であるかも知りません。ID はイベントとともに渡されます。例外をスローしたリスナーは報告されますが、取引は有効のままです。支払い済みの購入を取り消すものはありません。- マーカーがすべてなくなったレイアウトが、プールから削除される問題を修正しました。マーカーのみで構成されたショップ画面や、まだ空のタブが、通知なしに消えていました。
Quest Codex v2.9
- 拡張シャーシへの昇格は、リテラルのレイアウト ID ではなく、継承によって行われるようになりました。ルートの名前が
shell_root以外のシャーシは、拡張されたクロームを失い、下部の帯に固定されたすべてのコントロールが、描画時に消えていたため、クリックできませんでした。 - エクステンションは、固定された古い JAR ではなく、リリースウェーブの GUI エンジンに対してビルドされるようになりました。以前はエンジンの v0.11 に固定されていたため、そのリリース以降の追加は、エクステンションからは見えませんでした。
Discord v0.9
- エクステンションは、Community ではなく Discord になりました。 ディレクトリ、パッケージ、エクステンション名もそれに従います。ページがそれらをシリアライズしているため、エントリー名は変更されていません。
DiscordClientServiceは、リンク機能から独立したパッケージに移動しました。チャット同期、コンソール、バグレポートはすべてこれを使用するため、アカウントのリンクに属するべきものではありませんでした。- Webhook はエントリーになりました。
webhook_definitionは、Discord の宛先を 1 度だけ宣言し、あらゆる場所で参照されます。チャット同期、アカウントリンク、バグレポートは、それぞれ、URL、ユーザー名、アバターの独自のコピーを持っていたため、チャンネルを変更するには、すべてのマニフェストを編集する必要があり、それらが同じ場所を指していることを保証するものはありませんでした。 WebhookServiceは、任意のエクステンションが注入できるシングルトンです。HTTP クライアントは、以前は初期化処理で手作業で構築され、各サービスに渡されていたため、外部からメッセージを配信することはできませんでした。- バグレポートの 2 つ目のオン/オフのスイッチは廃止されました。宛先が空であることが、無効状態です。
- マイグレーション。 このバージョンより前に作成されたページは、最初の起動時に変換されます。宛先ごとに 1 つの
webhook_definitionが作成され(同一に設定されたマニフェストは 1 つのエントリーを共有します)、マニフェストはそれを指すように向け直されます。書き換えられるすべてのページは、先にbackup/community-webhook-v1/にバックアップされます。変換はバージョン番号ではなく、形に基づいて行われるため、2 回実行しても何も変わりません。オフにされていたマニフェストは、URL を失う代わりに、無効な宛先として URL を保持します。 - ショップの通知。
shop_notification_manifestは、ショップの取引が Discord に届いたときの見え方を記述します。宛先は意図的に含まれておらず、ショップに属します。そのため、1 つの表現ですべてのショップに対応しつつ、それぞれが自身のチャンネルに投稿できます。Shops エクステンションが必要ですが、依存はしていません。
Puzzle v0.1
- 初回リリース。
- 9 種類のパズル。 それぞれが、独自のオーディエンス、進行状況、トリガーを持つ Typewriter の目標です。ブロック押し、台座への供物、記憶シーケンス、レバーの順番、パターン配置、アイテムフレームの回転、ダイヤル錠、レーザーグリッド、協力型の感圧板。
- パズルが描画するものはすべてクライアント側です。ブロック、ゴーストのプレビュー、ハイライト、レーザービームは、パズルを解いているプレイヤーに送信されます。2 人のプレイヤーが、互いの進行状況を見ることなく同じボードに取り組むことができ、ワールドが変更されることはありません。
- すべてのパズルに共通するライフサイクル:
timeLimit、maxAttempts、cooldownOnFail、resetOnWrong、lifespan、ヒント、そしてonStart/onComplete/onFail/onTimeout/onLifespanExpireのトリガー。 isSharedは、パズルを、個人の進行状況から、グループ全体で一緒に進める 1 つのボードに切り替えます。puzzle_chainは、複数のパズルを順番に実行し、シーケンスが解かれたときに 1 回発火します。resetOnFailは、ミスをしたときにプレイヤーを最初に戻すかどうかを決めます。puzzle_artifactはパズルの状態を永続化するため、挑戦の途中で再起動しても、進行状況は消えません。puzzle_solved_factとpuzzle_active_factは、進行状況を他のコンテンツに公開します。puzzle_menuは、パズルとその状態をチャットに一覧表示します。- Folia 対応: ワールドへのすべての読み書きは、パズルを所有するリージョン上で実行されます。
Corpse v0.1
- 初回リリース。
- 遺体は、エンジン自身のエンティティディスプレイと同様に、閲覧者ごとに 1 度だけ描画されるため、近くにいる全員に見え、BetterModel、BTC Mob NPC、MythicMobs NPC のバックエンドで、モデルのアニメーションとネームプレートが動作します。
- Folia で動作します。すべてのスケジューリングは Folia 対応のスケジューラーを通じて行われ、アイテムのドロップ、経験値オーブ、パーティクルは、遺体を所有するリージョン上で実行されます。
- 遺体が保持するインベントリは、再起動、クラッシュ、リロードを経ても残ります。遺体は、利用可能な場合は MySQL に、そうでなければプラグインフォルダーに保存され、起動時に復元されます。
onlyOwnerCanLootが強制され、略奪は、4 ブロック以内の任意の右クリックではなく、遺体自身のエンティティ ID と照合されます。- 遺体のデフィニションは、死亡ごとに、ワールドと優先度で選択され、その寿命は、その遺体に対して 1 度だけ解決されます。
on_corpse_spawn、on_corpse_loot、on_corpse_expireイベントは、エンジンのトリガーパイプラインを通り、遺体の所有者、ルート、位置をコンテキストとして公開します。displayName、showDisplayName、dropOnInteract、renderArmor、playDeathAnimation、deathAnimationNameはすべて反映され、ほとんどの設定が動的な値であるため、プレースホルダーやファクトで制御できます。- 色を設定できる、クライアント側で描画される発光の輪郭と、ワールド全体ではなく、近くのプレイヤーごとに送信される遺体のサウンド。
has_corpseとcorpse_countのファクト、corpse_owner_audienceオーディエンス、プレイヤー自身の遺体までの距離と方向を表示するcorpse_waypoint、corpse_recovery_objective、そしてlistとclearのサブコマンドを持つcorpse_admin_command。- ルートの保護期間。その後、遺体は全員に開かれます。
- 略奪メニューは、独自のクリックリスナーを持つ素のインベントリではなく、GUI Extension のメニューであるため、エンジンのクリックルーティング、メニュー履歴、拡張インベントリの投影を継承します。そのため、GUI Extension が必要です。
Custom Biome v0.5
- カスタムバイオームが即座に存在します。 デフィニションは、サーバーの再起動後ではなく、保存された時点で、稼働中のレジストリに登録されます。生成されるデータパックは、唯一の経路ではなく、永続化のための層になりました。
- 生成されるデータパックがサーバーに無視される問題を修正しました。そのパックフォーマットが古い値にハードコードされており、サーバーが読み取らないフォルダーに書き込まれていました。
baseBiomeが平原以外では効果を持たない問題を修正しました。バイオームは、サーバーが保持するベースバイオームから構築され、そのバイオーム自身のコーデックでエンコードされるため、モブのスポーン、フィーチャー、カーバーが、失われずに継承されます。- バイオームの変更がワールドに穴を開ける問題を修正しました。更新時にチャンクのアンロードパケットが送信され、サーバーがその後に再送しませんでした。クライアントは、実際のチャンクデータから構築されたバイオームの更新を受け取るようになりました。
leave_biome_eventが発火しない問題を修正しました。入場と退出のリスナーが互いの状態を上書きしていたため、結果が登録順に依存していました。- 描画が、4x4x4 のセルごとに 1 つではなく、列のすべてのブロックを書き込み、さらに呼び出しスレッドから実行していた問題を修正しました。書き込みは、各チャンクを所有するリージョン上でスケジュールされるようになりました。
- サーバーがシリアライズを拒否するバイオームは、登録時に、問題のある値を示して拒否されるようになりました。以前は受け入れられた後、すべてのプレイヤーのログインを壊していました。
- プレイヤーごとのバイオームオーバーレイ(
player_biome_overlay_action): ワールドに触れず、他の誰にも影響を与えずに、1 人のプレイヤーに別のバイオームを表示します。 - スナップショット付きのリージョンの塗り替え(
paint_biome_region_action)と、リージョンを元に戻すrestore_biome_action。 biome_transition_cinematic: シネマティックの進行に合わせて、プレイヤーに見えるバイオームを変更します。custom_biome_preset: バイオーム間で、色と視覚的な属性を共有し、デフィニションごとに上書きできます。explore_biome_objectiveとbiome_discovery_fact: バイオームを訪れることで完了するクエスト。- すべての読み取りエントリーに
sourceオプションが追加され、プレイヤーに表示されているものと、ワールドに含まれているものを選べます。 - 永続化されなかった一時的なバイオームを作成していた
/tw biome setcolorと、値が再起動をまたいで安定しなかったHASHファクトモードを削除しました。 - エクステンションの JAR が 2.6 MB から 230 KB に縮小しました。サーバーがすでに提供しているライブラリを、もうシェードしません。
Enchantment Creator v0.8
- メカニクスの
levelModeは、runOnLevelを、正確なレベル、最小値(AT_LEAST)、最大値(AT_MOST)のいずれかとして比較します。以前は、完全一致のみが可能でした。 eventPhaseは、メカニクスのアクションを現在の Bukkit イベントの最中に実行するため、イベントのキャンセルやダメージの変更が実際に反映されます。キューに入れられた Typewriter のインタラクションでは、false に設定してください。clientSideEffectsはクライアントを考慮するようになり、client_particle_effectアクションが追加されました。カスタム BTC アーティファクトは、利用可能な場合は PacketEvents ベースのレンダラーを使用し、公開 Paper アーティファクトは、プレイヤー単位の Bukkit フォールバックを使用します。- レジストリキーは、
idから導出されるようになりました。以前のnameは、既存のページとアイテムを読み込む際の旧エイリアスとして維持されるため、何も作り直す必要はありません。 - 公開アーティファクトは、意図的に BTC-CORE や BTC Velocity への依存関係を持ちません。Java 21 の Paper 1.21.x で動作し、JDK 25 から Java 21 のバイトコードを対象にビルドされています。
Numerical Storage v0.9
- トランザクション設定の
transactionMode:INTERNALは、PlaceholderAPI とコンソールコマンドを使う経路を維持し、VAULTは、Vault Economy API を直接経由して、amountPlaceholderとコマンドのフィールドを無視します。 addCommandとremoveCommandのドキュメントが逆になっていました。addCommandは、ストレージへの預け入れを完了し、永続的な変更の前に確認されます。removeCommandは、引き出しを完了します。- 永続化は非同期になり、アーティファクトごとの変更ロックと短期間のキャッシュを備えたため、同時の預け入れが互いに競合することがなくなりました。
- ストレージファイルは、技術的なアーティファクトパスの下の、JSON スキーマバージョン 2 に移行します。古い意味的な
artifactIdに基づく旧ファイルは、backups/numericalstorage/にバックアップされ、最初のアクセス時にマイグレーションされます。アップグレードの前に、Typewriter のassets/ディレクトリをバックアップしてください。 artifactIdは、生成される技術的な識別子です。空のままにすると、Typewriter が入力します。- プレースホルダーは、明示的なデフィニション引数(
%typewriter_ns_balance_bank%)を受け取るようになり、デフィニション ID 自体にアンダースコアが含まれている場合の、アンダースコアによる分割の曖昧さがなくなりました。 - Profiles 連携がインストールされている場合の、任意のプロファイル対応のキー。
2026-08-07
Quest Codex v2.8
- 本物の Minecraft の実績。 新しい
advancement_definitionエントリーは、エクステンションが所有するデータパックに、本物の実績を書き込むため、バニラの実績画面に、独自のタブ、ツリー、フレーム、トーストとともに表示されます。parentは別のデフィニションを参照するため、ツリーはノードエディターで描画されます。 grant_advancementは、実績を付与する、または取り消し、親の連鎖をたどるため、子の実績が、未獲得の親の下で獲得されることはありません。autoGrantは、プレイヤーの最初の tick で実績を獲得させます。ルートでは、何かが獲得される前から、そのタブを存在させるものです。- クエストの順序を修正しました。入れ子になったクエストは、自身のサブカテゴリーから順序を読み取り、明示的な順序のないクエストが 1 つにまとまることがなくなり、クエストを追加しても、すでにあった順序が消えることがなくなりました。
- クエストマーカーはページ分割され、ソートモードはプレイヤーごとになり、複数追跡は、再接続後も、プレイヤーが選んだ順序で維持されます。
GUI v0.11
- GUI 設定エントリーの
hideVanillaItemStatsスイッチを備えた、アイテムのツールチップ。 - ページ分割レイアウトは、新しい
INDICATORロールを通じて、ページインジケーターを持てます。 - メニューはサーバーの起動時に検証されます。範囲外のスロット、存在しないテンプレート、不明なボタンタイプは、プレイヤーがメニューを開く前に、コンソールに名前が表示されます。
<shift:N>は、同梱の Magic Digit フォントを通じて、CraftEngine なしで解決されます。countとrepeatYは、スタックサイズではなく、スロットの繰り返し回数であることを、ドキュメント化しました。
Shops v1.3
- ショップが、プレイヤーの残高をゼロ未満にすることはなくなりました。3 つの独立した経路で、それが可能でした。
- 読み取れない残高が、ゼロとして読み取られなくなり、
12.5kのような書式化された残高も解析されます。
2026-08-03
Quest Codex v2.7
- ウェイポイントの表示モードを追加しました。
WORLD_DIRECTIONALは、目的地の実際の方向に沿って、プレイヤーの目の周囲の球面にマーカーを投影し、TARGET_ANCHOREDはターゲットに配置し、ADAPTIVEは両者の間を滑らかに移行します。HUD_LOCKEDがデフォルトのままなので、既存のページは変わりません。 - 目的地が同じ視線上にあるときも、複数のマーカーが読みやすいように、一定の見かけの大きさと、角度による整理を追加しました。
- 1 つのウェイポイントエントリーでの複数ターゲットの描画を追加しました。新しい
ALLとONE_PER_QUESTの追跡中目標の選択方式と、maxTargetsの上限があります。 - ウェイポイントで複数追跡が無視されていた問題を修正しました。2 番目以降の追跡中クエストの目標が解決されていなかったため、主要クエストだけがマーカーを生成していました。
- Minecraft 1.21.6 以降で、エンティティを生成せずに、解決された同じターゲットを、バニラのロケーターバーのドットとして描画する
quest_codex_locator_barを追加しました。
2026-08-02
Quest Codex v2.6
- 中断された Typewriter のダイアログとシネマティックの、最新のシネマティックフレームを含む、永続的な復旧を追加しました。復旧は、プレイヤーの切断後に Typewriter が終了イベントを発行する場合も、取得したスナップショットを保持するようになりました。
- 追跡中クエストのメニュー、専用のプレースホルダー、公開の 2 クエストのウェイポイントフィクスチャを備えた、永続的な複数クエストの追跡を追加しました。
- アイコンテキストを設定できる、テキストのみのクライアント側ウェイポイント、中央揃えのブロックディスプレイ、中央揃えのビーコンの回転、レベルのターゲットの整列、滑らかな補間、ターゲット付近への配置、設定可能な水平方向の可視コーンを追加しました。
- レガシーなアイテムディスプレイと方向矢印のウェイポイントレイヤーを、最初の公開デプロイの前に削除しました。
GUI v0.10
- レスポンシブなスロット配置と、合成されたメニューレイヤーのための、Flex と Composite のレイアウトエンジンを追加しました。
- 継承されるレイアウトプール、デフォルトビュー、パンくずリスト、ビューのタグ、任意の履歴連携を備えた、再利用可能でアドレス指定可能なビューを追加しました。
- ビュー対応のスキーママイグレーションと QuestCodex との連携、そして Maven の公開メタデータを追加しました。
- ビューの切り替えが、閉じて開き直すちらつきなしにメニューを再構築するよう修正し、インベントリを閉じる処理を Folia 対応にしました。
Shops v1.2
- 公開の Shop Extension を OmniGUI v0.10 に対して再ビルドし、検証しました。
- 既存の動的なショップレイアウト、ナビゲーション履歴、フィラーの処理、在庫と購入制限のルール、カスタムのショップボタンハンドラーを維持しました。
- Shop Extension v1.1 からのマイグレーションは不要です。
MythicMobsNPC Extension v0.4.6
- アニメーションなしで提供されるモデルで、スケールの変更が無視される問題を、BetterModel エクステンションと同じ方法で修正しました。
- バニラのモブのバリアント(猫、キツネ、オオカミ、村人など)は、通知なしに無視されるのではなく、コンソールに 1 度だけ報告されます。これらは、モブのアイデンティティを所有し、リスポーンのたびに上書きしてしまう、MythicMobs の設定に属するものです。
- 1 つのデータエントリーの失敗が、同じバッチで送信された他のすべてのエントリーをキャンセルし、NPC に設定されたデータが何も適用されない状態になり得た問題を修正しました。
- 発光エフェクトと装備は、モブだけでなく、モデルに対して適用されるようになりました。モブの体はモデルの後ろに隠れているため、モブだけに設定しても、何も見えませんでした。
- モデルにアイテムのボーンがない場合、装備は、何もせずに黙っているのではなく、コンソールに報告するようになりました。
- 炎は 1 秒ごとに再設定されるため、勝手に消えなくなり、炎が描画される体を BetterModel が隠している場合も、その旨が通知されます。
- NPC が歩いたり、道路ネットワークをたどったりするときに、ネームプレートがカクつく問題を修正しました。テキストディスプレイは、段階的にテレポートする代わりに、更新の間を補間するようになりました。
BetterModel Extension v1.3
- アニメーションなしで提供されるモデルで、モデルのスケールが無視される問題を修正しました。BetterModel は、アニメーションの実行中にのみモデルの変換を再計算するため、実行時に適用されたスケールの変更は、静的なモデルに届きませんでした。エクステンションが、自ら再計算を強制するようになりました。
- 同じコードパスを通っていた、モデルのオフセットにも、同じ修正が適用されます。
- エンティティのデータエントリーが、破棄されずに、実際にモデルに反映されるようになりました。対応しているのは、発光エフェクト、ポーション効果の色(アイテムの色合いとして描画)、明るさ、ビルボード制約、補間の長さ、平行移動、3D スケール、ボックスサイズ、装備、炎上です。
bettermodel_bone_appearanceを追加しました。発光、色合い、グリント、明るさの設定を、ボーンごとに設定するもので、bettermodel_bone_visibilityと同じクライテリアのシステムを使用します。- 装備は、BetterModel の手と頭のアイテムボーンにマッピングされます。モデルの胴体と脚は、独自のジオメトリを持つため、防具のスロットは、通知なしに無視されるのではなく、コンソールに 1 度だけ報告されます。
- 均一でない 3D スケールは、1 つの軸を黙って使用する代わりに、警告を出すようになりました。BetterModel が対応しているのは、均一なスケールのみです。
- 3D モデルにとって意味を持たないデータエントリー(ポーズ、モブのバリアント、繁殖の状態など)は、黙って破棄されるのではなく、コンソールに 1 度だけ報告されるようになりました。
- 発光、色合い、明るさ、ビルボード、平行移動、装備が、リソースパックのリロードやリスポーンの後も、モデルのデフォルトの見た目に戻らずに維持されるようになりました。
- モデルに
ri、li、phのタグが付いたボーンがない場合、装備は、何もせずに黙っているのではなく、コンソールに報告するようになりました。これが、アイテムが表示されない、よくある原因です。 - 炎は、モデルのボーンではなく、NPC のインタラクションエンティティ上に描画されるようになりました。クライアントは、炎をエンティティのバウンディングボックスに合わせて拡大縮小しますが、ディスプレイエンティティにはそれがないため、炎がサイズゼロで描画されていました。
Nexo Extension v1.0
- プレイヤーが手に持っているもの、インベントリで持ち運んでいるもの、見ているもの、立っているものを確認するファクトを追加しました。
- 対象のアイテム、ブロック、家具の ID とプロパティを返す変数を追加しました。
- Nexo のアイテム ID を使う、アイテムの付与と削除のアクションを追加しました。
- アイテムの拾得、ドロップ、消費のイベントを追加しました。
- カスタムブロックと家具のインタラクションとダメージのイベント、そしてルートドロップのイベントを追加しました。
- イベントが、そのデータ(ブロック ID、位置、手に持っているアイテム)を、次に実行されるものに渡すようになったため、ダイアログやアクションが、それらを直接使用できます。
CraftEngine Extension v1.0
- クエスト目標が機能するようになりました。クエストに紐付けられ、進行状況を保存し、完了時にシーケンスをトリガーできます。
- クールダウン、手に持っているアイテムと持ち運んでいるアイテム、プレイヤーが対象にしているブロックや家具のファクトを追加しました。
- ID、アイテムのプロパティ、読み込まれているコンテンツのリストを返す変数を追加しました。
- CraftEngine のアイテム ID を使う、アイテムの付与と削除のアクションを追加しました。
- アイテムの拾得、ドロップ、消費のイベントを追加しました。
- 設置の試行と、家具への攻撃のイベントを追加しました。
- イベントが、そのデータを、次に実行されるものに渡すようになりました。
ItemsAdder Extension v1.0
- ブロックと家具のイベントは、バニラのイベントから推測するのではなく、ItemsAdder を直接読み取るようになり、信頼性が向上し、トリガーの見逃しや重複を起こし得た、わずかな遅延もなくなりました。
- 手に持っているアイテムと持ち運んでいるアイテム、残りの使用回数、カスタムの耐久値、HUD の表示状態、作物の成長のファクトを追加しました。
- ID、アイテムのプロパティ、フォント画像を返す変数を追加しました。
- ItemsAdder のアイテム ID を使う、アイテムの付与と削除のアクションを追加しました。
- アイテムの拾得、ドロップ、消費のイベントを追加しました。
- インタラクションのイベント、家具の設置前イベント、カスタムエンティティの死亡イベントを追加しました。
- イベントが、そのデータを、次に実行されるものに渡すようになりました。
2026-07-26
Quest Codex v2.5
quest_codex_tracking_artifactエントリーを通じた、永続的な複数クエストの追跡を追加しました。@trackedカテゴリーメニューモードと、TRACKED_QUEST_SLOTの動的マーカーを追加しました。/tw codex trackedと、内部のcodex:trackedGUI コマンドを追加しました。- 追跡中のクエスト数、上限、主要クエスト、インデックス付きの追跡中クエスト、ステータス、目標、優先度の、PlaceholderAPI プレースホルダーを追加しました。
- 公開ページバンドルの構成を、ドキュメント化しました。メインマニフェスト、スタティックなトラッキングアーティファクト、クエストデフィニション、GUI 設定です。
GUI v0.9
- インラインストレージと、レガシーなページ分割フィールドのための、公開ページの自動スキーママイグレーションを追加しました。
- Typewriter エディターの公開時のフリーズを減らすために使われる、コンパクトな
storagePool/storageIdとnavigationButtonsのスキーマを、ドキュメント化しました。 - 大規模な QuestCodex メニューに推奨される、参照型メニューのパターンを、明確にしました。