BetterStructuresの設定
このページは、BetterStructuresがplugins/BetterStructuresに書き出す2つのプラグインレベルの設定ファイルのリファレンスです。コンテンツレベルの設定は別の場所にあります。ジェネレーターの作成、構造物の作成、宝物の作成、モジュラーダンジョンを参照してください。
どちらのファイルも/bs reloadを実行するたびにサーバースレッド上で再読み込みされるため、ここでの変更を適用するのに再起動は必要ありません。
フォルダ構成
| パス | 内容 |
|---|---|
config.yml | 以下で説明するプラグイン全体の設定 |
ValidWorlds.yml | 以下で説明するワールドごとのオン/オフスイッチ |
schematics/ | 構造物の.schemファイルと生成された.yml設定。再帰的にスキャンされます |
modules/ | モジュラーダンジョンの.schemファイルと生成された.yml設定。再帰的にスキャンされます |
generators/ | ジェネレーター設定 |
module_generators/ | モジュールジェネレーター設定 |
treasures/ | 宝物(ルートテーブル)設定 |
spawn_pools/ | [pool: name]看板が使用するスポーンプール設定 |
content_packages/ | セットアップメニューとダウンロードコマンドが使用するパッケージ記述子 |
components/ | 起動時に空の状態で作成され、補助コンポーネントを同梱するコンテンツ用に使われます |
imports/ | 手動でコンテンツをインポートするためのドロップインフォルダ |
.schematic_cache/ | 変換済みスケマティックの管理キャッシュ。削除しても安全です |
config.yml
構造物の間隔
BetterStructuresは、構造物タイプごとに1つずつ用意されたシード付きのダイヤモンドグリッド上に構造物を配置します。distanceキーはグリッド点同士の間隔を決め、offsetキーは各点をグリッドからずらして、配置が機械的に見えないようにします。
どちらもブロックではなくチャンク単位で計測されます。 distanceSurfaceが27であれば、おおよそ27チャンクごとに1つの地表構造物(約432ブロック)という意味になります。
| キー | デフォルト | 説明 |
|---|---|---|
distanceSurface | 27 | SURFACE構造物のグリッド間隔 |
distanceShallow | 22 | UNDERGROUND_SHALLOW構造物のグリッド間隔 |
distanceDeep | 22 | UNDERGROUND_DEEP構造物のグリッド間隔 |
distanceSky | 90 | SKY構造物のグリッド間隔 |
distanceLiquid | 60 | LIQUID_SURFACE構造物のグリッド間隔 |
distanceDungeonV2 | 80 | DUNGEON配置のグリッド間隔 |
maxOffsetSurface | 5 | 地表のグリッド点に適用されるランダムなずれ |
maxOffsetShallow | 5 | 浅い地下のグリッド点に適用されるランダムなずれ |
maxOffsetDeep | 5 | 深い地下のグリッド点に適用されるランダムなずれ |
maxOffsetSky | 5 | 空中のグリッド点に適用されるランダムなずれ |
maxOffsetLiquid | 5 | 液体表面のグリッド点に適用されるランダムなずれ |
maxOffsetDungeonV2 | 18 | ダンジョンのグリッド点に適用されるランダムなずれ |
distanceが小さいほど構造物は多くなります。offsetが小さいほど配置はグリッド的になり、大きいほど予測しにくい配置になります。
検証。 distanceは最低でも1である必要があります。offsetは0から1073741823(配置のランダマイザーが安全に扱える最大値)の間でなければなりません。範囲外の値を指定すると、BetterStructuresは警告をログに出し、そのキーのデフォルト値をconfig.ymlに書き戻し、生成を失敗させる代わりにデフォルト値で続行します。
offsetはワールドシードと構造物タイプ名から導出されるため、同じシードであれば再起動のたびに同じレイアウトが得られます。
スポーン保護
| キー | デフォルト | 説明 |
|---|---|---|
spawnProtectionRadius | 100 | 座標0, 0からのブロック単位の最小距離で、この範囲内には構造物が配置されません。すべてのワールドに適用されます。無効にするには0に設定します。 |
これは各ワールドのスポーン地点ではなく、ワールドの原点から計測される点に注意してください。
高度の範囲
これらはディメンションごとに、地下構造物が最終的に配置され得る範囲を制限します。アンカーが範囲外に落ちる構造物は、範囲内に引き戻されます。
| キー | デフォルト | 説明 |
|---|---|---|
lowestYNormalCustom | -60 | NORMALおよびCUSTOMワールドでの最低Y |
highestYNormalCustom | 320 | NORMALおよびCUSTOMワールドでの最高Y |
lowestYNether | 4 | ネザーでの最低Y |
highestYNether | 120 | ネザーでの最高Y |
lowestYEnd | 0 | エンドでの最低Y |
highestYEnd | 320 | エンドでの最高Y |
空中構造物は独自の設定を使用し、これらは絶対的なY座標ではなく、その列で最も高いブロックからのオフセットです。配置ごとに最小値と最大値の間のランダムな値が抽選されます。
| キー | デフォルト | 説明 |
|---|---|---|
normalCustomAirBuildingMinAltitude | 80 | NORMALおよびCUSTOMワールドでの最小の空中オフセット |
normalCustomAirBuildingMaxAltitude | 120 | NORMALおよびCUSTOMワールドでの最大の空中オフセット |
endAirBuildMinAltitude | 80 | エンドでの最小の空中オフセット |
endAirBuildMaxAltitude | 120 | エンドでの最大の空中オフセット |
ネザーはこの4つをすべて無視します。ネザーの空中構造物は、Y 45からY 100の間をスキャンして見つかった空気の空間の中に配置されます。
パフォーマンス
| キー | デフォルト | 説明 |
|---|---|---|
percentageOfTickUsedForPasting | 0.2 | BetterStructuresがブロックの貼り付けに費やしてよい各サーバーティックの割合。0.01(1%)から1(100%)まで。値を下げるとラグは減りますが、建築物のポップインが目立つようになります。 |
percentageOfTickUsedForPregeneration | 0.1 | /bs pregenerateが使用する各サーバーティックの割合。範囲は同じく0.01から1 |
pregenerationTPSPauseThreshold | 12.0 | サーバーのTPSがこの値を下回ると事前生成が一時停止します |
pregenerationTPSResumeThreshold | 14.0 | TPSがこの値以上になると事前生成が再開します。一時停止と再開が短時間で繰り返されるのを避けるため、一時停止のしきい値より高く保ってください。 |
modularChunkPastingSpeed | 10 | 現在未使用。 このキーは今もconfig.ymlに書き出されますが、どこからも読み取られていないため、変更しても効果はありません。 |
管理と連携
| キー | デフォルト | 説明 |
|---|---|---|
warnAdminsAboutNewBuildings | true | 近くで構造物が生成されたときにオペレーターへ通知するかどうか。/bs silentはこの値を反転して保存します。 |
setupDone | false | 初回セットアップフローが完了しているかどうか。falseに設定してリロードすると、/bs initializeが再び案内を表示します。 |
protectEliteMobsRegions | true | BetterStructuresがEliteMobsベースの戦闘エリアにWorldGuardの保護を作成するかどうか。WorldGuardとEliteMobsの両方が必要です。 |
regionProtectedMessage | &8[BetterStructures] &cDefeat the zone's bosses to edit blocks! | プレイヤーがそれらの保護されたリージョン内でブロックを編集しようとしたときに表示されるメッセージ |
nightbreak.autoDownloadPluginUpdates | false | 起動時にプラグインとコンテンツの更新を自動的にダウンロードするかどうか。これは/bs setupのAutomatic Updatesトグルの実体となるキーです。ダウンロードしたプラグイン更新を適用するには、引き続き再起動が必要です。 |
ValidWorlds.yml
このファイルは、BetterStructuresがどのワールドで生成を行うかを決定します。
New worlds spawn structures: true
EliteMobs worlds excluded by default: true
Valid worlds:
world: true
world_nether: true
world_the_end: true
| キー | デフォルト | 説明 |
|---|---|---|
New worlds spawn structures | true | BetterStructuresがまだ認識していないワールドを有効として登録するかどうか |
Valid worlds | 自動的に生成されます | ワールドごとに1つのworldname: true/falseエントリ。ワールドをfalseにすると、そのワールドでの構造物生成がすべて停止します。 |
EliteMobs worlds excluded by default | 一度きりの移行後にtrueとして書き込まれます | 内部マーカー。編集しないでください。 |
自動的な挙動
- 新しいワールドは読み込み時に登録されます。 初めて読み込まれたワールドには、
New worlds spawn structuresの値を用いてただちにエントリが書き込まれます。 - EliteMobsが管理するワールドは除外されます。 冒険者ギルドハブとインスタンス化ダンジョンのコピーは、
New worlds spawn structuresがtrueであってもfalseとして登録されます。これらの未建築のvoidチャンクは新しいチャンクとして扱われ、BetterStructuresがダンジョンハブを装飾してしまっていたためです。エントリ自体は書き込まれるので、それが本当に望む挙動であればtrueに戻すことができます。 - 既存の
em_エントリは一度だけ移行されました。 以前の緩いデフォルト設定のせいでtrueになっていただけのem_ワールドは一度きりfalseに反転され、EliteMobs worlds excluded by defaultマーカーがこの処理が実行済みであることを記録します。その後に意図的に再度有効にしたワールドは、再起動をまたいで有効なまま維持されます。 - 不要なエントリは削除されます。 起動時と、ワールドがアンロードされてからおよそ10秒後に、読み込まれておらずディスク上にも存在しないワールドのエントリが削除され、ファイルが際限なく肥大化しないようになっています。