跳到主要内容

BetterStructures 配置

本页是 BetterStructures 写入 plugins/BetterStructures 的两个插件级配置文件的参考手册。内容级别的配置在别处:参见创建生成器创建结构创建宝藏模块化地下城

每当你运行 /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 会把结构放置在一个由种子决定的菱形网格上,每种结构类型一张网格。距离类的键设定网格点之间相隔多远,偏移类的键则让每个点在网格上随机抖动,使放置结果看起来不那么机械。

两者的单位都是区块,而不是方块。 distanceSurface27 表示大约每 27 个区块出现一座地表结构(约 432 个方块)。

默认值描述
distanceSurface27SURFACE 结构的网格间距
distanceShallow22UNDERGROUND_SHALLOW 结构的网格间距
distanceDeep22UNDERGROUND_DEEP 结构的网格间距
distanceSky90SKY 结构的网格间距
distanceLiquid60LIQUID_SURFACE 结构的网格间距
distanceDungeonV280DUNGEON 放置的网格间距
maxOffsetSurface5应用于地表网格点的随机抖动
maxOffsetShallow5应用于浅层地下网格点的随机抖动
maxOffsetDeep5应用于深层地下网格点的随机抖动
maxOffsetSky5应用于空中网格点的随机抖动
maxOffsetLiquid5应用于液面网格点的随机抖动
maxOffsetDungeonV218应用于地下城网格点的随机抖动

距离越小,结构越多。偏移越小,放置越接近规整网格;偏移越大,放置越难以预测。

校验。 距离至少必须为 1。偏移必须在 01073741823 之间,这是放置随机器能安全使用的最大值。超出范围的值会让 BetterStructures 记录一条警告,把该键的默认值写回 config.yml,然后使用默认值继续运行,而不是让生成失败。

偏移由世界种子和结构类型名称推导而来,因此同一个种子在每次重启后都会产生相同的布局。

出生点保护

默认值描述
spawnProtectionRadius100以坐标 0, 0 为中心、不放置任何结构的最小方块距离。对所有世界生效。设为 0 可禁用。

请注意,该距离是从世界原点算起的,而不是从各个世界的出生点算起。

高度范围

这些设置按维度限制地下结构最终可以出现的位置。锚点会落在范围之外的结构会被拉回范围内。

默认值描述
lowestYNormalCustom-60NORMALCUSTOM 世界的最低 Y
highestYNormalCustom320NORMALCUSTOM 世界的最高 Y
lowestYNether4下界的最低 Y
highestYNether120下界的最高 Y
lowestYEnd0末地的最低 Y
highestYEnd320末地的最高 Y

空中结构使用它们自己的设置,而且这些是相对于该列最高方块之上的偏移量,不是绝对 Y 坐标。每次放置都会在最小值和最大值之间随机取一个数。

默认值描述
normalCustomAirBuildingMinAltitude80NORMALCUSTOM 世界的最低空中偏移
normalCustomAirBuildingMaxAltitude120NORMALCUSTOM 世界的最高空中偏移
endAirBuildMinAltitude80末地的最低空中偏移
endAirBuildMaxAltitude120末地的最高空中偏移

下界会忽略这四个键:那里的空中结构会被放进通过扫描 Y 45 到 Y 100 之间找到的空气腔中。

性能

默认值描述
percentageOfTickUsedForPasting0.2BetterStructures 每个服务器 tick 中可用于粘贴方块的比例,取值从 0.01(1%)到 1(100%)。数值越低越不容易卡顿,但建筑「弹出」的过程会更明显。
percentageOfTickUsedForPregeneration0.1/bs pregenerate 每 tick 使用的比例,取值范围同样是 0.011
pregenerationTPSPauseThreshold12.0服务器 TPS 低于此值时暂停预生成
pregenerationTPSResumeThreshold14.0TPS 达到或高于此值时恢复预生成。请让它高于暂停阈值,以避免频繁地暂停/恢复来回切换。
modularChunkPastingSpeed10当前未被使用。 该键仍会写入 config.yml,但没有任何代码读取它,所以修改它不会产生任何效果。

管理与集成

默认值描述
warnAdminsAboutNewBuildingstrue附近生成结构时是否通知管理员。/bs silent 会翻转并保存该值。
setupDonefalse首次设置流程是否已完成。设为 false 并重载即可让 /bs initialize 再次提示。
protectEliteMobsRegionstrueBetterStructures 是否为由 EliteMobs 支撑的战斗区域创建 WorldGuard 保护。需要同时安装 WorldGuard 和 EliteMobs。
regionProtectedMessage&8[BetterStructures] &cDefeat the zone's bosses to edit blocks!玩家尝试在这类受保护区域内编辑方块时显示的消息
nightbreak.autoDownloadPluginUpdatesfalse启动时是否自动下载插件和内容更新。这是 /bs setupAutomatic 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 structurestrueBetterStructures 此前没见过的世界是否会被注册为启用
Valid worlds自动填充每个世界一条 worldname: true/false 条目。把某个世界设为 false 即可停止其中的所有结构生成。
EliteMobs worlds excluded by default一次性迁移后写入 true内部标记,请勿编辑。

自动行为

  • 新世界在加载时被注册。 首次加载的世界会立即写入一条条目,其值取自 New worlds spawn structures
  • 由 EliteMobs 管理的世界会被排除。 冒险者公会大厅和副本地下城的世界副本会被注册为 false,即使 New worlds spawn structurestrue 也一样,因为它们尚未构建的虚空区块会被算作新区块,曾导致 BetterStructures 在地下城大厅里生成建筑。条目依然会被写入,所以如果你确实想要,把它改回 true 是有效的。
  • 已有的 em_ 条目被迁移过一次。 任何仅仅因为旧版宽松默认值才为 trueem_ 世界都被一次性翻转为 false,而 EliteMobs worlds excluded by default 标记记录了该迁移已经执行过。之后你刻意重新启用的世界会在重启后保持启用。
  • 失效条目会被清理。 在启动时,以及世界卸载后大约十秒,那些既未加载、磁盘上也不存在的世界条目会被移除,以免文件无限增长。