初始建筑

初始建筑

🏛️ 允许在初始世界生成时,通过示意图文件在出生点创建建筑物。

A Serilum Mod. Made with love. Lots of active mods for Fabric, Forge and Neo!

CurseForge Modrinth Patreon YouTube

关于模组

Starter Structure 增加了在世界首次生成时生成特定结构的功能。它会查看配置文件夹中的原理图文件,选择一个,并将其放置在出生点。

同时支持结构方块原理图(SBS,.nbt 文件)和 WorldEdit 原理图(WES,.schem/.schematic 文件)。SBS 包含实体数据,可直接用于生成已保存的实体。WES 不保存实体,但可以在原理图中放置告示牌来决定实体的生成位置。两者都支持自定义 NBT 数据。模组运行不需要安装 WorldEdit!它仅用于生成原理图文件,之后你可以将其移除。原理图也可以在另一个实例中创建,然后将文件复制到整合包中。

还有各种配置选项可用于指定玩家应生成的位置(以及结构应生成的位置)以及结构的放置方式。



依赖项

需要 Collective
包含在 Serilum 的自定义整合包中
环境:服务器




可配置

配置指南

   所有可用的配置选项:

显示剧透

shouldGenerateStructure  默认 true
是否应生成位于 './config/starterstructure/schematics/...' 中的原理图。

forceExactSpawn  默认 true
通常玩家出生点位于一个随机区域内。启用此选项后,玩家将始终在设定的坐标处出生(在最近的空气空洞处)。

ignoreTreesDuringStructurePlacement  默认 true
防止结构放置在树木顶部。放置过程中将忽略所有树叶和原木方块。

generationIgnoreJigsawAndStructureBlocks  默认 true
某些原理图文件可能包含拼图方块或结构方块。默认情况下,这些方块在结构生成过程中会被忽略。

protectStructureBlocks  默认 true
是否应保护生成结构的方块免遭破坏/恶意破坏。

protectSpawnedEntities  默认 true
是否应保护在生成结构内生成的实体免受伤害。

playersInCreativeModeIgnoreProtection  默认 true
如果启用,处于创造模式的玩家将能够破坏和放置结构方块。

playersInCreativeModeIgnoreEntityProtection  默认 false
如果启用,处于创造模式的玩家将能够伤害在结构中生成并受保护的实体。

preventSpawnedEntityMovement  默认 false
是否不允许生成结构内生成的实体移动离开它们生成的方块。默认禁用。

spawnNonSignEntitiesFromSupportedSchematics  默认 true
是否应在发现(结构方块)原理图文件中的实体时生成它们。这些实体不是通过告示牌创建的。

shouldUseStructurePosition  默认 false
是否应使用 generatedStructurePosition 配置选项。

generatedStructureXPosition  默认 0,最小值 -10000000,最大值 10000000
生成结构的精确 x 坐标。当 shouldUseStructurePosition 启用时使用。

generatedStructureYPosition  默认 0,最小值 -1000,最大值 1000
生成结构的精确 y 坐标。当 shouldUseStructurePosition 启用时使用。

generatedStructureZPosition  默认 0,最小值 -10000000,最大值 10000000
生成结构的精确 z 坐标。当 shouldUseStructurePosition 启用时使用。

shouldUseStructureOffset  默认 false
是否应使用 generatedStructureOffset 配置选项。

generatedStructureXOffset  默认 0,最小值 -1000,最大值 1000
生成结构的 x 偏移量。当 shouldUseStructureOffset 启用时使用。

generatedStructureYOffset  默认 0,最小值 -1000,最大值 1000
生成结构的 y 偏移量。例如,如果你注意到建筑总是生成得高一格,可以将其设置为 -1。当 shouldUseStructureOffset 启用时使用。

generatedStructureZOffset  默认 0,最小值 -1000,最大值 1000
生成结构的 z 偏移量。当 shouldUseStructureOffset 启用时使用。

shouldUseSpawnCoordinates  默认 false
是否应使用 spawnCoordinate 配置选项。

spawnXCoordinate  默认 0,最小值 -10000000,最大值 10000000
当 shouldUseSpawnCoordinates 启用时,新的出生点 X 坐标。

spawnYCoordinate  默认 0,最小值 -1000,最大值 1000
当 shouldUseSpawnCoordinates 启用时,新的出生点 Y 坐标。

spawnZCoordinate  默认 0,最小值 -10000000,最大值 10000000
当 shouldUseSpawnCoordinates 启用时,新的出生点 Z 坐标。

shouldUseSpawnCoordOffsets  默认 false
是否应使用 spawnCoordOffset 配置选项。

spawnXCoordOffset  默认 0,最小值 -1000,最大值 1000
当 shouldUseSpawnCoordOffsets 启用时,出生点的 X 坐标偏移量。

spawnYCoordOffset  默认 0,最小值 -1000,最大值 1000
当 shouldUseSpawnCoordOffsets 启用时,出生点的 Y 坐标偏移量。

spawnZCoordOffset  默认 0,最小值 -1000,最大值 1000
当 shouldUseSpawnCoordOffsets 启用时,出生点的 Z 坐标偏移量。

 

配置文件夹:
原理图可以放置在 ./config/starterstructure/schematics 中。
原理图可以是 .nbt、.schem 和 .schematic 类型。
可以包含多个,模组会随机选择一个。


自定义告示牌数据位于 ./config/starterstructure/signdata 中。
允许通过 NBT 数据创建实体。你基本上可以将 /summon 命令放入 signdata 文件夹中的 .txt 文件中。
在原理图中放置一个告示牌,引用该文件,它将在结构生成时创建一个实体。
更多信息请参见下文。

原理图:

原理图可以通过结构方块(.nbt 文件)或 WorldEdit(.schem / .schematic 文件)创建。你可以选择你喜欢的方法!我推荐使用 WorldEdit,因为它还允许你指定玩家应生成的位置。你只需要 WorldEdit 来创建原理图。之后你可以将其移除,因为 Starter Structure 在创建世界时不需要 WorldEdit 来生成出生结构。




描述

如何生成 WorldEdit 原理图:

显示剧透


使用 //wand 命令获取工具来设置原理图的角落。



左键单击第一个方块,你想要底部角落的位置。



右键单击相对角落的第二个方块,之后记得破坏临时方块。
你也可以使用 //pos2 命令。



站在你希望结构生成时玩家出生的位置,然后输入 //copy 命令。



现在执行 //schematic save <schematic-name> 来生成原理图文件。



文件将保存在 ./config/worldedit/schematics 中。



将其复制到 Starter Structure 的配置文件夹 ./config/starterstructure/schematics 中。



现在,只要生成新世界,Starter Structure 就会生成复制的结构!
如果有多个原理图位于 ./config/starterstructure/schematics 中,将随机选择一个。

 


告示牌:
在生成的结构内部,可以轻松地使用告示牌生成实体:

显示剧透

一个简单的实体:

--------------------------
[实体]
modid:entityid
--------------------------




换行会被忽略。这 3 个告示牌是相同的,都会在结构生成时在其位置生成一个村民。

自定义 NBT 数据告示牌:
如果你想生成一个不那么简单的实体,例如带有自定义名称或自定义物品,你可以引用一个包含这些数据的文件。
以 [NBT] 行开头。然后在下方指定文件名。这可以是任何名称。

--------------------------
[NBT]
nbtfilename
--------------------------



这将在 ./config/starterstructure/signdata/igloo_entity.txt 中查找实体数据。



该文件包含以下 NBT 数据:



并且会在结构生成时生成一个带有物品和状态效果且命名的僵尸实体:



实体 NBT 数据基本上就是一个 /summon 命令。有多种网站可以帮助你生成它。
例如,你可以使用网站 MCStacker,通过其 /summon 页面来生成一个实体。



你可以将生成的整个 /summon 命令放入 ./config/starterstructure/signdata/file.txt 中:



Starter Structure 将移除 /summon 部分并生成带有 ID 的正确 NBT 数据。
转换为:




备注和链接

你可以在任何整合包中自由使用此模组,只要下载仍托管在 CurseForge 或 Modrinth 生态系统中。

Serilum.com 包含所有可用模组的概述和更多信息。

对于问题、想法、建议或其他任何事项,请访问 Github 仓库。谢谢!