はじめに
BTC Studio は、Paper サーバー向けのクエスト/ストーリーテリングエンジン TypeWriter のエクステンションを開発しています。このドキュメントでは、各エクステンションの機能、インストール方法、追加されるすべてのエントリーをフィールド単位で解説します。
5 分でわかる TypeWriter
TypeWriter は設定ファイルの代わりに Web パネル を使います。サーバーからパネルを開き(/typewriter connect)、エントリー で構成された ページ を作り、それらを相互にリンクして Publish(公開) します。サーバーは再起動なしで変更を反映します。
| 概念 | 内容 |
|---|---|
| ページ | エントリーのコンテナです。シーケンスページにはダイアログとアクション、スタティックページには定義(アーティファクト、スピーカー、NPC 定義)、マニフェストページには常時有効なもの(オーディエンス、ディスプレイ)、シネマティックページにはタイムラインを配置します。 |
| エントリー | タイプ(例: schematic_block)で識別される 1 つの構成要素です。各エントリーにはインスペクターで入力するフィールドがあります。 |
| トリガー | あるエントリーから次のエントリーへのリンクです。イベントがアクションをトリガーし、アクションがダイアログをトリガーする、といった流れです。 |
| ファクト | プレイヤーごとに保存または計算される値です。エントリーを実行するかどうかを判断する クライテリア(条件) で使われ、モディファイア によって変更されます。 |
| オーディエンス | プレイヤーに対するフィルターです(リージョン内にいる、アイテムを持っている、クエストの特定ステップにいるなど)。ネームプレート、フェイクブロック、HUD などのディスプレイは、オーディエンスに対して表示されます。 |
| アーティファクト | エクステンションが所有する永続データです(設置済みスキマティック、ショップの在庫、統計など)。 |
エクステンションは、このツールボックスに新しいエントリータイプを追加します。エクステンションをインストールすると、そのエントリーはパネルの検索バーと、対応するページタイプの + ボタンの中に表示されます。
エクステンションのインストール
- Paper サーバーに TypeWriter をインストールし、パネルが開くことを確認します。
- エクステンションをダウンロードします。無料のものは GitHub のリリースから、有料のものは Voxel または BuiltByBit から入手します。ボタンは各エクステンションページの上部にあります。
- エクステンションページの Requires に記載されたプラグインをインストールします。
- JAR を
plugins/Typewriter/extensions/に配置し、サーバーを再起動します。 - パネルを開きます。新しいエントリーが検索バーから利用できるようになります。
バージョン
各エクステンションのページには、ドキュメントが対象とするバージョンと、必要な TypeWriter のバージョンが表示されています。TypeWriter を更新するときは、エクステンションも対応するリリースに同時に更新してください。
このドキュメントの使い方
- エクステンションカタログ には、すべてのエクステンションが提供形態とテーマによるフィルター付きで掲載されています。
- 各 エクステンションページ は共通の構成になっています。概要、機能、インストール、はじめに、コマンド、パーミッション、プレースホルダー、エントリー、トラブルシューティングの順です。
- 各 エントリーページ には、パネルで表示されるとおりのエントリー(識別子、種類、アイコン)と、各フィールドの型、デフォルト値、説明を一覧にした表が掲載されています。これらの表はエクステンションのソースコードから生成されているため、リリース版のコードと一致します。
| 提供形態 | 意味 |
|---|---|
| Free(無料) | オープンソースで、GitHub からダウンロードできます。 |
| Paid(有料) | プレミアム連携で、Voxel と BuiltByBit で販売しています。 |
| Private(非公開) | TypeWriter の BTC ビルド上で BornToCraft ネットワークに導入されています。参考情報として文書化されており、配布はしていません。 |
| Soon(近日公開) | 開発中です。エントリーは今後変更される可能性があります。 |
ヘルプ
ご質問は BTC Studio Discord へお寄せください。無料エクステンションの不具合については、そのエクステンションの GitHub リポジトリで Issue を作成し、エクステンションのバージョン、TypeWriter のバージョン、サーバーログの最初のエラーを添えてください。