跳到主要内容

创建内容


创建建筑

对于 BetterStructures,您可以建造任何东西,虽然为了通用世界适配和性能考虑,建议将结构体大小保持在 100x100x100 方块以下。话虽如此,它可以轻松处理更大的结构。


特殊方块

BetterStructures 有两个特殊方块:屏障和基岩。WorldEdit 可以粘贴的任何其他方块都将正常粘贴,但屏障和基岩方块是例外。这些方块不会被粘贴,而是被替换为以下自定义行为:


屏障

屏障方块使插件不在该位置放置任何方块。这意味着原始世界生成中原本在该位置的任何方块都将保留在那里。

建筑师可以使用此功能来圆滑粘贴的边缘,使其看起来更自然,或将墙壁塑造成潜在的洞穴等技巧。


基岩

基岩方块使插件保证该位置有一个实心方块。这意味着如果默认世界生成中已经有一个实心方块,该方块将不会被修改;但是,如果该方块是空气或液体,它将被替换为来自 基座 的实心方块。

建筑师可以使用此功能创建具有矿车轨道等功能的地板,或保证地板的存在而不覆盖世界中该位置原本可能存在的实心方块,使建筑看起来更有机。


生成符号

BetterStructures 可以使用带有特定文本的标志在建筑的特定位置生成怪物,甚至生成来自 EliteMobs 和 MythicMobs 的首领。

注意:生成符号在结构放置后不会被移除。它们将保持可见状态且文本完整。如果不希望玩家看到它们,考虑将它们放在隐藏或不显眼的位置。


生成原版怪物

如果您取一个普通的标志并将其放在某个地方,然后确保第一行写 [spawn],第二行包含 遵循 Spigot API 的实体类型名称,您将在该位置生成一个您指定类型的持久实体。

例如,如果您有一个标志,第一行写 [spawn],第二行写 ZOMBIE,当建筑被放置时,您将在该位置生成一个僵尸。这也可用于非生物实体,如盔甲架或末影晶体。

[spawn]

ZOMBIE

注意:实体类型必须是 Spigot API EntityType 枚举中的有效值。无效的实体类型将导致结构加载失败。检查您的 Minecraft 版本的 Spigot API 文档以确保实体类型存在。


生成精英怪物(推荐的首领插件)

BetterStructures 还具有高级 EliteMobs 集成,允许它基于建筑和生成符号创建首领竞技场。

如果您取一个普通的标志并将其放在某个地方,使第一行为 [elitemobs],则您可以使用其他所有行来指定要使用的首领文件。

例如,如果您在第一行写 [elitemobs],然后在第二行写 test_boss.yml,您将生成测试首领。如果您有一个非常长的文件名,如 boss_with_very_long_filename.yml,您可以将其分成多行,所以第 2 行写 boss_with_very_,然后第 3 行写 long_filename.yml,这样就可以工作。

作为提醒,默认情况下,如果您的服务器使用 WorldGuard,在玩家击杀建筑中的所有首领之前,战斗竞技场将受到保护。

[elitemobs]

test_boss_with

_a_long_name

.yml


生成神话怪物

如果您取一个普通的标志并将其放在某个地方,使第一行为 [mythicmobs],则您可以使用其他行来定义要使用的首领文件。

例如,如果您在第一行写 [mythicmobs],在第二行写 SkeletalKnight,然后在第三行写 10(仅级别号),您将在放置标志的位置生成级别 10 的 SkeletalKnight 首领。

[mythicmobs]

SkeletalKnight

10


原理图

原理图是由 WorldEdit 或 FastAsyncWorldEdit 生成的文件,其中包含 BetterStructures 将使用的建筑方块。 BetterStructures 使用 .schem 文件格式(现代 WorldEdit 标准)。确保使用 .schem 格式保存您的原理图,而不是遗留的 .schematic 格式。

有关如何制作原理图的详细说明此处未包含,因为它们在 WorldEdit 和 FastAsyncWorldEdit 文档中有详细说明,但通常通过以下方式完成:

  1. 选择建筑的一个角并使用命令 //pos1
  2. 选择对角相对的角并使用命令 //pos2
  3. 使用 //copy 命令
  4. 使用命令 /schem save <schematicname>,其中 <schematicName> 是您想要为原理图使用的文件名。
worldedit documentation image from their docs

确保您在第 1 点运行命令 //pos1,在第 2 点运行 //pos2


锚点

锚点是您为原理图运行 //copy 命令的位置。简单粘贴原理图时,这些是您相对于建筑所站位置。

锚点对于原理图的正确工作非常重要。

  • 对于 地表建筑,建议您在复制建筑时站在地板的最低点。
  • 对于 地下建筑,建议您站在建筑的顶部。
  • 对于 液体建筑,建议您站在水的顶部。
  • 对于 空中建筑,建议您站在建筑的顶部。

请注意,复制时您应该始终非常靠近建筑或直接在建筑顶部 - 距离越远,粘贴建筑时延迟越大。 锚点确定结构在世界中放置时的原点。对于地表结构,插件从锚点开始将结构拟合到地形,这就是为什么站在最低地板点可确保正确的地面对齐。对于地下结构,顶部的锚点允许插件正确确定埋藏深度。


原理图配置

每个原理图文件都有一个原理图配置。如果原理图文件刚刚添加到服务器,将在重启后或执行 /betterstructures reload 后生成配置。

这些配置允许您为原理图粘贴设置以下设置:


isEnabled

设置原理图是否启用。如果禁用,它将不会在任何地方放置。


weight

权重设置原理图被选中的可能性的权重。

默认值是 1.0。如果您将建筑的权重设置为 2.0,它被选中的可能性将是其他建筑的 2 倍。如果您将其设置为 0.5,它被选中的机会将减半。

注意: 请记住,特定建筑被选中的几率会根据为该位置竞争结构放置的建筑总数而大幅变化!


pedestalMaterial

重要:可选字段!

基座材料使用 spigot api 材料名称 设置基座方块的材料类型 - 使用它们否则不会起作用!

基座是放置在地表和地下建筑下方以适应任何空气间隙并改善建筑与世界适配的方块。这些也是替换原理图中基岩方块的相同方块。

当配置中未定义任何内容时,将分析粘贴位置下方的方块,并选择最适合的作为材料以实现最佳集成外观。插件分析结构放置位置下方的方块,并使用加权随机选择选择最常见的材料类型。这通常会导致与周围地形的自然整合。在下界中,默认为地狱岩;在末地中,末地石;在其他维度中,石头。


generatorConfigFilename

注意:generatorConfigFilename 是必需的。没有有效生成器配置的原理图将不会生成,并将在日志中显示警告。

此选项设置原理图将使用的配置文件的名称(按文件名)。这需要完整的文件名,包括末尾的 .yml 扩展名。例如,如果您想使用在生成器配置文件夹中找到的 generator_surface_global.yml 中定义的生成器,generatorConfigFilename: generator_surface_global.yml 将是正确的选项。


treasureFile

设置此结构将使用的 [财宝文件](../Better Structures/creating_treasure.md),覆盖结构的 [生成器](../Better Structures/creating_generators.md) 设置的财宝文件。除非是为了非常特殊的建筑,否则通常不推荐这样做。通常最好为此目的修改或创建生成器。

自定义内容

BetterStructures 中分发的所有内容都是可编辑的。您能够修改任何原理图文件和生成器设置以满足您的喜好。

上面的内容创建指南也是可以帮助您编辑现有内容的指南。


故障排除

如果您的结构不生成,请检查:

  • 原理图文件是 .schem 格式
  • 指定了有效的生成器配置
  • isEnabled 选项设置为 true
  • 您的 WorldEdit/FastAsyncWorldEdit 版本兼容

如果生成符号不工作:

  • 验证标志格式完全匹配示例
  • 对于 EliteMobs/MythicMobs,确保已安装插件
  • 检查实体类型/怪物名称拼写是否正确
  • 查看服务器日志以获取特定错误消息