Extractioncraft ルートシステム
Extractioncraftは3つの概念に基づいた階層型ルートシステムを持っています。コンテンツパッケージはルートテーブルを参照し、ルートテーブルはルートプールを参照し、ルートプールはドロップする実際のアイテムを定義します。
概要
Content Package
-> chestLootTables / barrelLootTables (weighted selection)
-> Loot Table
-> lootTable entries (each has a chance to roll)
-> Loot Pool
-> eliteMobsLoot / vanillaLoot (weighted selection of one item)
ルートテーブル
ルートテーブルの設定は loot_tables/ フォルダにあります。各ファイルはルートプールエントリのリストを定義し、各エントリにはアイテムを生成する独立した確率があります。
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
isEnabled | Boolean | true | このルートテーブルが有効かどうか |
spawnPools | String list | [] | BetterStructuresのスポーンプール名。一致するスポーンプールに関連付けられたEliteMobが倒されると、このルートテーブルがドロップに使用される。 |
lootTable | List of objects | [] | 各エントリはルートプールのファイル名と chance(0.0〜1.0)を参照 |
ルートテーブルエントリの形式
lootTable:
- filename: my_loot_pool.yml
chance: 0.5
- filename: another_pool.yml
chance: 0.2
各エントリは独立して判定されます。chance が 0.5 の場合、このプールがドロップを生成する確率は50%です。
ルートプール
ルートプールの設定は loot_pools/ フォルダにあります。各プールは取得可能なアイテムのセットを定義します。プールが判定されると、重み確率に基づいて1つのアイテムが選択されます。
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
isEnabled | Boolean | true | このルートプールが有効かどうか |
eliteMobsLoot | List of objects | [] | ドロップ可能なEliteMobsカスタムアイテム |
vanillaLoot | List of objects | [] | ドロップ可能なバニラMinecraftアイテム |
EliteMobsルートエントリ
eliteMobsLoot:
- filename: my_elite_item.yml
weight: 1.0
- filename: another_item.yml
weight: 0.5
filename はEliteMobsカスタムアイテムの設定を参照します。weight はプール内のすべてのエントリ間でのドロップ確率の相対値を決定します。
バニラルートエントリ
vanillaLoot:
- material: DIAMOND
weight: 1.0
- material: GOLD_INGOT
weight: 2.0
material はBukkitの Material enum名です。weight はエリートルートエントリと同様に機能します。プール内のすべてのエリートおよびバニラエントリは、1回の重み付き選択で競合します。
コンテナルート(チェストと樽)
マッチ中、チェストと樽はBetterStructuresによって配置されます。プレイヤーがチェストまたは樽を右クリックすると:
- プレイヤーはコンテナが開くまで3秒間静止する必要があります。
- 移動するとインタラクションがキャンセルされます。
- 成功すると、コンテンツパッケージの
chestLootTablesまたはbarrelLootTablesリストから1つのルートテーブルが選択されます(重み付き選択)。 - 選択されたルートテーブルの各エントリが独立して判定され、結果のアイテムがコンテナの位置にドロップします。
- ルーティング後、コンテナは破壊されます(空気に置換)。
マッチ中にアクティブなコンテナは10ティックごとにポータルパーティクルを表示し、プレイヤーが見つけやすくなっています。
モブキルルート
マッチ中にEliteMobが死亡すると、プラグインはそのBetterStructuresスポーンプールをチェックします。spawnPools リストにそのモブのスポーンプールが含まれるルートテーブルが、モブの死亡地点にドロップを生成します。モブのレベルはEliteMobsに渡され、レベルに応じたアイテム生成が行われます。
脱出時のアイテムの挙動
- 脱出に成功したプレイヤーはすべてのアイテムを保持します。インベントリのアイテムは退出時にソウルバインド(EliteMobsのソウルバインドエンチャント使用)されます。
- 脱出に失敗したプレイヤー(退出、切断、またはワールドボーダーに捕捉された場合)は、
config.ymlでdeleteItemsOnFailToExtractがtrueの場合、すべてのインベントリアイテムを失います。