什么是模块化地牢?
模块化地牢是 BetterStructures 2.0.0 及更高版本中引入的地牢系统。 与生成单个固定原理图不同,模块化地牢是由较小的、手工制作的模块动态组装而成的。 这种方法允许创建大型、多层的地牢,在每个世界中都有独特的感觉,同时仍然与原版 Minecraft 无缝融合。
模块化地牢是如何生成的
-
模块 每个模块通常以可配置的尺寸构建(默认 16x16x16 方块,但某些内容包使用 32x16x32 或其他尺寸)。模块使用标准化的连接点和边界标签系统进行设计,以便它们可以与其他模块无缝连接,不会产生间隙或重叠。地牢的尺寸使用模块生成器配置中的
moduleSizeXZ和moduleSizeY配置选项来设置。 模块可以包含走廊、房间、楼梯或特殊遭遇空间。 -
生成过程 当模块化地牢在新区块中生成时,BetterStructures 使用波函数坍缩(WFC)算法从可用池中程序化地组装模块。系统根据边界标签匹配随机选择兼容的模块,并将它们"缝合"在一起形成完整的地牢。 生成时间取决于服务器性能、地牢大小(半径)、垂直范围、模块数量和约束复杂度。系统使用负载分配来防止生成期间的服务器卡顿。
-
地牢大小 地牢可以通过半径参数配置为各种大小。较大的半径值会创建明显更大的地牢,可以跨越数百个方块。 大多数地牢包括多个楼层,通过楼梯模块或垂直竖井连接。楼层之间的垂直连接通过设置
upIsPassable和downIsPassable为 true 的模块来实现。
多样性和内容包集成
-
免费包 Dungeoneering Modules Free Pack 包含 15 个模块。它本身就可以作为一个完整的可玩地牢。
-
高级包 Dungeoneering Modules Premium Pack 额外增加了 38 个模块。与免费包结合使用时,两个包会交织成一个拥有更大模块池的单一地牢系统。 这减少了重复并增加了生成布局的多样性。
-
道具集成 如果你还安装了 BetterStructures Prop Pack(通过 FreeMinecraftModels),模块化地牢将在建筑中显示自定义模型道具,如我们的展示截图所示。 没有道具包,地牢仍然可以正常运行,但不会显示装饰模型。
EliteMobs 集成
虽然大部分地牢仅依赖 BetterStructures 和原版 Minecraft 怪物,但某些地牢会有 Boss 遭遇:
- 如果同时安装了 EliteMobs 和 FreeMinecraftModels → 带有模型的完整自定义 Boss 战。
- 如果仅安装了 FreeMinecraftModels → Boss 模型作为装饰道具出现。
- 如果两者都未安装 → Boss 房间将为空。
系统使用基于告示牌的生成系统,通过特殊标签在指定区域放置实体和容器。Boss 等级根据与地牢中心的距离进行缩放,在整个结构中提供适当的挑战。
模块告示牌类型
| 告示牌标签 | 第1行 | 附加行 | 描述 |
|---|---|---|---|
[spawn] | [spawn] | 第2行为实体类型 | 在告示牌位置生成原版实体 |
[pool: poolname] | [pool: poolname] | — | 从指定生成池中随机生成一个 Boss |
[chest] | [chest] | — | 在告示牌位置放置箱子 |
[trapped_chest] | [trapped_chest] | — | 在告示牌位置放置陷阱箱 |
[barrel] | [barrel] | — | 在告示牌位置放置木桶 |
[exit] | [exit] | 第2-3行为电梯原理图文件名 | 标记带有上/下电梯原理图的出口点 |
如果未安装 EliteMobs 但内容包需要它,管理员将收到警告消息。
这种设计使模块化地牢与原版风格的设置兼容,同时仍为使用额外插件的用户提供更深层次的集成。
MythicMobs 集成
BetterStructures 还支持 MythicMobs 集成,用于在模块化地牢中创建自定义怪物遭遇。
当安装了 MythicMobs 时,结构包可以在地牢生成过程中生成自定义 MythicMobs。这允许创建超越原版 Minecraft 或 EliteMobs 提供的更复杂的怪物遭遇和 Boss 战。
如果未安装 MythicMobs,插件将通知拥有适当权限的管理员并提供下载链接。
FMM 集成
模块化地牢还可以在创建过程中利用 FreeMinecraftModels (FMM) 道具。
- 如果安装了 FMM,模块创建者或建造者放置的任何道具都会出现在生成的地牢中。
- 道具纯粹是装饰性的,不会影响游戏玩法,但它们增强了环境的视觉保真度和沉浸感。
- 如果未安装 FMM,地牢仍然会正常生成,但这些自定义道具将不会显示。
这确保了创作者可以设计具有额外细节的地牢,同时为未安装 FMM 的玩家保持兼容性。
模块尺寸
重要: 模块大小是可配置的,不是固定的。
每个模块生成器使用以下选项定义其标准模块大小:
moduleSizeXZ:宽度和深度(方块),默认值:16moduleSizeY:高度(方块),默认值:16
默认大小: 16×16×16 方块 常见替代: 32×16×32 方块(用于某些内容包)
对于模块创作者:
- 检查你的生成器配置中的
moduleSizeXZ和moduleSizeY值 - 为该生成器构建的所有模块都必须匹配这些精确尺寸
- 尺寸不匹配将导致连接失败
设置自定义尺寸: 在你的模块生成器配置文件中:
moduleSizeXZ: 32 # 宽度和深度
moduleSizeY: 16 # 高度
注意:同一生成器中的所有模块必须使用相同的尺寸。你不能在同一个地牢系统中混合使用 16×16×16 和 32×16×32 的模块。
模块生成器配置字段
除了 moduleSizeXZ 和 moduleSizeY 之外,模块生成器配置还支持以下字段:
| 字段 | 默认值 | 描述 |
|---|---|---|
radius | 1 | 地牢半径(区块) |
edges | false | 是否生成边缘模块 |
startModule | — | 生成起始模块列表 |
minChunkY | 0 | 最小垂直区块边界 |
maxChunkY | 0 | 最大垂直区块边界 |
moduleSizeXZ | 16 | 模块的宽度和深度(方块) |
moduleSizeY | 16 | 模块的高度(方块) |
debug | false | 启用生成调试模式 |
useGradientLevels | false | 为生成的实体启用基于梯度的等级缩放 |
spawnPoolSuffix | — | 附加到此生成器的生成池名称的后缀 |
isWorldGeneration | false | 此生成器是否用于世界生成 |
treasureFile | — | 宝藏配置文件 |
validWorlds | — | 地牢可以生成的有效世界名称列表 |
validWorldEnvironments | — | 有效世界环境列表 |
centerModuleAltitude | 0 | 中心模块的高度 |
单个模块配置字段
每个单独的模块可以定义以下配置字段:
| 字段 | 默认值 | 描述 |
|---|---|---|
isEnabled | true | 此模块是否启用 |
weight | 100 | 生成期间此模块的选择权重 |
repetitionPenalty | 0 | 当此模块被多次选择时应用的惩罚 |
noRepeat | false | 防止此模块重复 |
northIsPassable | true | 北面是否允许连接 |
southIsPassable | true | 南面是否允许连接 |
eastIsPassable | true | 东面是否允许连接 |
westIsPassable | true | 西面是否允许连接 |
upIsPassable | true | 顶面是否允许连接 |
downIsPassable | true | 底面是否允许连接 |
enforceVerticalRotation | false | 强制垂直旋转约束 |
enforceHorizontalRotation | false | 强制水平旋转约束 |
minY | -4 | 此模块的最小 Y 高度 |
maxY | 20 | 此模块的最大 Y 高度 |
biome | default | 此模块的生物群系要求 |
minecraftBiome | null | 此模块的 Minecraft 生物群系要求 |
treasureFile | — | 此模块的宝藏配置文件 |
borders | — | 定义连接兼容性的边界标签映射 |
cloneConfig | — | 从另一个模块配置文件克隆设置 |
compoundModule | — | 将此模块链接为复合(多部分)模块的一部分 |
isAutomaticallyPlaced | true | 此模块是否在生成期间自动放置 |