Extractioncraft 設定
Extractioncraftは複数の設定ファイルを使用します。主な設定は config.yml と messaging.yml にあります。コンテンツパッケージ、ルートテーブル、ルートプールにはそれぞれ独自の設定フォルダがあります。
config.yml
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
deleteItemsOnFailToExtract | Boolean | true | 脱出ポイントのいずれかを使用したマッチからの脱出に失敗した場合、プレイヤーがすべてのアイテムを失うかどうか。有効な場合、プリメイドコンテンツはこのリスクを前提にバランス調整されています。無効にすると、コンテンツのファーミングが容易になり、脱出メカニクスに関わる理由が減ります。 |
nightbreak.autoDownloadPluginUpdates | Boolean | false | 共有のMagmaCore設定で、Extractioncraftの起動後にファイルへ追加されます。true の場合、利用可能なExtractioncraftのプラグインアップデートは起動から数分後にダウンロードされ、nightbreak.applyPluginUpdatesWithoutRestart によってそれより早く適用されない限り、次回の再起動後に使用されます。自動アップデートを参照してください。 |
nightbreak.applyPluginUpdatesWithoutRestart | String | never | 共有のMagmaCore設定。never は次回の再起動まで待ち、when-empty はダウンロードされたプラグインアップデートを次にオンラインのプレイヤーがいなくなった時点で適用し、immediately はダウンロードが完了した時点ですぐに適用します。アップデートを適用するとExtractioncraftがリロードされ、進行中のマッチは終了します。再起動なしでのアップデートの適用を参照してください。 |
削除処理が適用されるのは、マッチが進行中になった後だけです。待機中やカウントダウン中に退出した場合、インベントリには手が加えられません。脱出、サーバーのシャットダウン、プラグインのリロードではアイテムが保持され、EliteMobsのSoulbindエンチャントが有効であれば未結合のアイテムがプレイヤーにソウルバウンドされます。このオプションを false に設定すると、進行中のマッチからのそれ以外のすべての退出で、アイテムは消去される代わりにソウルバウンドされます。退出方法ごとの扱いはマッチの流れを参照してください。
messaging.yml
すべてのメッセージは & カラーコードに対応しています。プレースホルダーは行ごとに記載されています。
| キー | デフォルト | 説明 |
|---|---|---|
failedToJoinOngoingMatchAsPlayerMessage | Can't join this match - it has already started! | プレイヤーが進行中のマッチに参加しようとしたときに表示 |
failedToJoinOngoingMatchAsPlayerInstanceIsFull | Can't join this match - the instance is already full! | マッチが最大プレイヤー数に達しているときに表示 |
failedToJoinOngoingMatchAsPlayerNoPermission | Can't join this match - you don't have the permission! | 設定可能な権限不足メッセージ。現在は送信されません: Extractioncraftのマッチは参加権限を設定していません。 |
failedToJoinMatchAsSpectatorNoSpectatorsAllowedMessage | Can't join this match - spectators are not allowed! | コンテンツパッケージで観戦が無効な場合の設定可能なメッセージ。現在のMagmaCoreマッチランタイムでは送出されません: 観戦の試行はメッセージを送らずに黙って拒否されます。 |
failedToJoinMatchAsSpectatorNoPermission | Can't spectate this match - you don't have the permission! | プレイヤーに観戦権限がない場合の設定可能なメッセージ。現在は送信されません: 観戦に権限は必要ありません。 |
matchJoinAsPlayerMessage | [Extractioncraft] You are now in the match, $player! | プレイヤーとしてマッチに参加したときのチャットメッセージ。$player はプレイヤー名に、$count は最少プレイヤー数に置換されます。 |
matchJoinAsPlayerTitle | Extract! | マッチ参加時に表示されるタイトル |
matchJoinAsPlayerSubtitle | Grab the loot and head to an extraction point! | マッチ参加時に表示されるサブタイトル |
matchJoinAsSpectatorTitle | (空) | 観戦者として参加したときに表示されるタイトル。Extractioncraftには観戦コマンドがないため、これが表示されるのは別のプラグインがAPIを通じて受け入れた観戦者だけです。 |
matchJoinAsSpectatorSubtitle | Now spectating! | 観戦者として参加したときに表示されるサブタイトル。APIを通じて受け入れられた観戦者にのみ送信されます。 |
matchJoinAsSpectatorMessage | [Extractioncraft] You are now spectating a match! Do &a/extractioncraft quit &fto stop spectating! | 観戦者として参加したときのチャットメッセージ。APIを通じて受け入れられた観戦者にのみ送信されます。$player はプレイヤー名に置換されます。 |
matchLeaveAsPlayerMessage | [Extractioncraft] You have left the match, $player! | 設定可能な退出メッセージ。現在のMagmaCoreマッチランタイムでは送出されず、$player も置換されません。 |
matchLeaveAsSpectatorMessage | [Extractioncraft] You have left the match, $player! | 設定可能な観戦退出メッセージ。現在のMagmaCoreマッチランタイムでは送出されず、$player も置換されません。 |
matchFailedToStartNotEnoughPlayersMessage | This match requires $count players before starting - can't start yet! | 十分なプレイヤーがいない状態で /exc start を使用したときに、マッチ内の全員に表示。最少プレイヤー数に置換されるのは $amount プレースホルダーだけなので、デフォルトのテキストでは $count がそのまま表示されます。数値を置換したい場合は $amount を使用してください。 |
matchStartingMessage | [Extractioncraft] Match starting! | 設定可能なマッチ開始チャットメッセージ。現在のMagmaCoreマッチランタイムでは送出されません(カウントダウンは代わりにタイトル/サブタイトルで表示されます)。 |
matchStartingTitle | Match starting! | カウントダウンのタイトル。$count は1秒間隔で 2、1、0 と表示されます。 |
matchStartingSubtitle | in $count... | カウントダウンのサブタイトル。$count は1秒間隔で 2、1、0 と表示されます。 |
preventTeleportInMessage | [Extractioncraft] You have attempted to teleport into an ongoing match - you can't do that! | マッチワールドへのテレポートがブロックされた場合の設定可能なメッセージ。テレポート自体はランタイムによってキャンセルされますが、このメッセージは現在プレイヤーに送信されません。 |
preventTeleportOutMessage | [Extractioncraft] You have attempted to teleport from an ongoing match - you can't do that! | マッチからのテレポートがブロックされた場合の設定可能なメッセージ。テレポート自体はランタイムによってキャンセルされますが、このメッセージは現在プレイヤーに送信されません。 |
コンテンツパッケージ設定
コンテンツパッケージは content_packages/ フォルダ内のYAMLファイルです。各ファイルはプレイ可能なマップ設定を定義します。
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
isEnabled | Boolean | true | パッケージがインストール済みとみなされるかどうか。/exc setup でのエントリの色(true = インストール済み/緑、false = ダウンロード済み未インストール/黄)を決定し、セットアップメニューが自動で切り替えます。/exc createMatch は無効なパッケージもタブ補完しますが、その生成は拒否します。 |
name | String | (必須) | パッケージの表示名(& カラーコード対応) |
description | String list | (必須) | セットアップメニューに表示される説明文 |
downloadLink | String | (任意) | セットアップメニューで未ダウンロードのパッケージをクリックしたときにチャットに表示されるURL。プリメイドのパッケージでは https://nightbreak.io/plugin/extractioncraft/ を使用しています。 |
version | Integer | 0 | コンテンツのバージョン番号。Extractioncraftのコンテンツ状態チェックは未ダウンロード / インストール済み / 未インストールしか区別しないため、この値は現在何とも比較されていません。 |
folderName | String | (任意) | プリメイドのファイルには書き込まれていますが、現在のコードでは読み込まれません。パッケージがダウンロード済みとみなされるかどうかは betterStructuresModulesContainerName によって決まります。 |
usesEliteMobs | Boolean | false | パッケージがEliteMobsコンテンツを使用することを示す宣言フラグ。ランタイムでは強制されません。 |
usesBetterStructures | Boolean | false | パッケージがBetterStructuresコンテンツを使用することを示す宣言フラグ。ランタイムでは強制されません。 |
usesFreeMinecraftModules | Boolean | false | パッケージがFreeMinecraftModelsコンテンツを使用することを示す宣言フラグ。ランタイムでは強制されません。ソース上のYAMLキーは usesFreeMinecraftModules("Modules" の綴り)である点に注意してください。 |
betterStructuresModulesContainerName | String | (任意) | /exc createMatch の実行時にワールドジェネレーターへ渡されるBetterStructuresモジュールジェネレーターの設定ファイル名(例:kobold_mines_module_generator_10.yml)。どのマップが生成されるかを実際に決定するのはこのキーです。ジェネレーターは有効で、isWorldGeneration: true を持ち、インストール済みの開始モジュールを少なくとも1つ指定している必要があります。BetterStructuresがこのジェネレーターを読み込むと、セットアップメニューはパッケージをダウンロード済みとして扱います。 |
spectatable | Boolean | false | マッチが観戦者を受け入れるかどうか。Extractioncraftには観戦コマンドがないため、これは別のプラグインがAPIを通じて受け入れる観戦者にのみ影響します。 |
pvpEnabled | Boolean | true | マッチ中にPvPが有効かどうか。false の場合、マッチワールド内のどこでも、プレイヤーとその飛び道具は他のプレイヤーにダメージを与えられません。 |
minPlayers | Integer | 1 | マッチ開始に必要な最少プレイヤー数。これを下回ると /exc start は拒否され、カウントダウン中に人数がこれを下回るとカウントダウンは中止されます(マッチは終了します)。maxPlayers を超える値は maxPlayers まで引き下げられます。 |
maxPlayers | Integer | 100 | マッチに参加可能な最大プレイヤー数(1 以上)。プリメイドのKobold Minesパッケージ5個はすべてこれを 8 に上書きしています。Extractioncraftは参加コマンドを登録していないため、別のプラグインがAPIを通じてプレイヤーを受け入れない限り、マッチに入るのは作成者だけです。 |
contentLevel | Integer | 10 | チェストと樽のルートを生成するときにEliteMobsへ渡されるレベル。1 未満の値は 1 になります。プリメイドのパッケージでは 10、20、30、40、50 を使用しています。 |
chestLootTables | String list | [] | チェストに使用されるルートテーブル。filename.yml:weight 形式 |
barrelLootTables | String list | [] | 樽に使用されるルートテーブル。filename.yml:weight 形式 |
ルートテーブルの重み形式
チェストと樽のルートテーブルエントリは <loot_table_filename.yml>:<weight> の形式を使用します。プレイヤーがコンテナを開くと、重み確率に基づいて1つのルートテーブルが選択されます。
例:
chestLootTables:
- my_chest_high_loot_table.yml:.2
- my_chest_low_loot_table.yml:.2
barrelLootTables:
- kobold_mines_supplies_loot_table.yml:1
:weight の部分は必須で、正の数値でなければなりません。コロンがちょうど1つでないエントリ、ファイル名が空のエントリ、重みが正の数値でないエントリは、警告とともにスキップされます。重みは互いの相対値であるため、上の例では2つのチェストテーブルがそれぞれ50%ずつの割合になります。loot_tables/ 内のファイルに一致しないファイル名は起動時に警告を出力してスキップされ、isEnabled: false に設定されたテーブルも同様にスキップされます。使用可能なテーブルが1つも残らない場合、その種類のコンテナを右クリックしても何も起きません。