建立生成器
生成器
生成器是 BetterStructures 配置系統中最強大的部分。預設有 29 個生成器,共同管理著 BetterStructures 目前發佈的建築;雖然你可以建立自己的生成器,但也可以直接使用現有的作為捷徑。
生成器會告訴外掛東西究竟應該在哪裡生成,並定義戰利品表。預設生成器的命名方式也很容易讓人猜到它們的功能。
生成器配置選項
| 鍵 | 預設值 | 必需 | 描述 |
|---|---|---|---|
isEnabled | true | ❌ | 生成器是否啟用 |
structureType | - | ✅ | 結構生成位置(見下表) |
lowestYLevel | -59 | ❌ | 生成的最低 Y 級別 |
highestYLevel | 320 | ❌ | 生成的最高 Y 級別 |
validWorlds | 全部允許 | ❌ | 結構可以生成的世界列表 |
validWorldEnvironments | 全部允許 | ❌ | NORMAL, NETHER, THE_END |
validBiomesV2 | 所有生態群系 | ❌ | 有效生態群系列表(namespace:key 格式) |
treasureFilename | - | ❌ | 箱子戰利品的寶藏檔案 |
generateLootInBarrels | true | ❌ | 此生成器放置的結構中之木桶是否應被填入戰利品 |
barrelTreasureFilename | treasure_barrel_food.yml | ❌ | 為此生成器填入木桶時所使用的寶藏檔案 |
structureType
設定建築的結構類型。你可以為單個生成器指定多個結構類型!
| 類型 | 主世界 | 下界 | 終界 | 描述 |
|---|---|---|---|---|
SURFACE | 地表 | 類似地表的點 | 地表 | 在世界地表生成 |
SKY | Y 80-120 | 類似空氣的點 | Y 80-120 | 在天空生成(可在 config.yml 中配置) |
UNDERGROUND_SHALLOW | Y 0-60 | Y 60-120 | 有效高度 | 淺層地下結構 |
UNDERGROUND_DEEP | Y -64 到 0 | Y 0-60 | ❌ 不生成 | 深層地下結構 |
LIQUID_SURFACE | 水(海洋) | 岩漿湖 | ❌ 不生成 | 在液體表面生成 |
DUNGEON | ✅ | ✅ | ✅ | 用於模組化地下城放置 |
多結構類型範例
structureType:
- SURFACE
- UNDERGROUND_SHALLOW
這允許同一生成器在多個位置生成結構,例如同時在地表和淺層地下區域。
注意:由於 Minecraft 有大量地下空間,因此有兩個地下設定。兩者都有可以確保在各深度均勻分佈,防止玩家錯過結構。
按維度劃分的 Y 級別範圍
每個維度的預設高度範圍(可在 config.yml 中配置):
| 維度 | 預設範圍 | 配置設定 |
|---|---|---|
| 主世界/自訂 | Y=-60 到 Y=320 | lowestYNormalCustom / highestYNormalCustom |
| 下界 | Y=4 到 Y=120 | lowestYNether / highestYNether |
| 終界 | Y=0 到 Y=320 | lowestYEnd / highestYEnd |
| 天空(主世界) | Y=80 到 Y=120 | normalCustomAirBuildingMinAltitude / Max... |
| 天空(終界) | Y=80 到 Y=120 | endAirBuildMinAltitude / Max... |
這些預設值可以使用 lowestYLevel 和 highestYLevel 按生成器覆蓋。
自訂生態群系支援
BetterStructures 自動支援來自 Terralith、Iris、Terra 和 TerraformGenerator 等世界生成器的自訂生態群系。
當你在 validBiomesV2 中指定原版生態群系時,外掛會自動包含相容的自訂生態群系:
validBiomesV2:
- minecraft:plains
- minecraft:forest
這會在原版生態群系和所有映射到這些類型的自訂生態群系(例如 terralith:blooming_plains)中生成結構。
treasureFilename
設定箱子戰利品的寶藏檔案。除非在 Schematic 設定 中覆蓋,否則這適用於使用此生成器的所有建築。
generateLootInBarrels 與 barrelTreasureFilename
BetterStructures 現在將木桶視為與箱子並列的第二種戰利品容器。
generateLootInBarrels(預設true)控制此生成器所放置之結構內的木桶是否會被填入物品。將其設為false即可保留木桶原本的內容不被變動。barrelTreasureFilename(預設treasure_barrel_food.yml)決定在填充這些木桶時要 roll 哪個寶藏檔案。預設提供的是一個以食物為主、份量輕巧的戰利品表,但你可以將其指向任何寶藏檔案。
這兩個選項都可以在個別 schematic 設定中以同名的 barrelTreasureFilename 欄位覆寫。