
结构生成点
将世界出生点设置为你选择的结构处
查看大图结构出生点
获得你一直在寻找的完美开局。
安装模组。选择起始结构。加入世界。开始游戏。
评估完美结构有多种方式,最重要的是检查结构所在的生物群系,以及周围区域处于“良好”生物群系的百分比。
工作原理
服务器启动时,它会寻找配置的结构。搜索从 0,0 坐标开始,并向外扩展。每个候选结构都会根据你的生物群系偏好和地形要求进行评估。当找到完美位置时,世界出生点会设置在那里,并且任何已在等待的玩家都会被传送。之后加入的玩家会在加入时被传送。
如果你的要求很简单,搜索会很快,甚至可能在加载画面结束前就完成。如果你有一些非常严格的要求,搜索可能需要几分钟。搜索进行期间可能会出现明显的卡顿峰值,但不用担心,搜索一旦完成就结束了,不会再有任何性能影响。
快速开始
- 将模组安装到你的 Fabric 1.21.1 整合包中,同时需要 Fabric API。
- 启动游戏一次——模组会在
config/structure-spawn-point.json生成默认配置。 - 将
target_structure设置为你希望玩家出生在其中的结构。 - 启动服务器或加入世界。搜索会在每个全新世界自动运行,并会在服务器启动或重置命令时读取配置,无需重启整个游戏来更新配置。
想要在不同的世界有不同出生点?
如需世界特定配置,请在 config/structure-spawn-point/<世界名称>.json 创建文件。世界特定配置优先于全局配置。
查找你的结构 ID
在游戏中使用 /locate structure 命令来查找结构 ID(例如 minecraft:village)。这就是你要填入 target_structure 的内容。模组支持特定的结构 ID 和结构标签——只需输入任一格式,模组会自动尝试两种方式。命令中使用的 # 前缀不是必需的,但包含它也不会出错。
"target_structure": "minecraft:village"
有效值的示例:
nova_structures:stray_fort— 由模组添加的特定结构minecraft:village_plains— 特定的原版村庄变体(仅平原)minecraft:village— 任何村庄变体,通过结构标签解析
结构定位配置
这些设置控制模组如何搜索和评估候选结构。
preferred_biomes (默认:forest, plains, meadow)
结构理想情况下应处于的生物群系。使用 namespace:biome_id 指定特定生物群系,或使用 namespace:biome_tag 指定类别。# 前缀是可选的。留空以接受任何生物群系。
"preferred_biomes": ["minecraft:is_forest", "minecraft:plains", "minecraft:meadow"]
avoided_biomes (默认:badlands, beach, jungle, mountain, ocean, swamp)
需要避免的生物群系。格式与 preferred_biomes 相同。
"avoided_biomes": ["minecraft:is_ocean", "minecraft:is_badlands"]
min_preferred_area_percentage (默认:60,范围:0–100)
结构周围区域(384×384 方块)的最低质量评分。评分基于周围区域处于偏好或中性生物群系的比例,其中偏好生物群系计双倍分数,回避生物群系则会被严重扣分。设置为 0 可跳过区域检查,仅考虑结构所在的直接生物群系。
terrain_flatness_check_radius (默认:48,范围:0–128)
检查结构周围地形平坦度的半径(以方块为单位)。模组会测量该区域内最高和最低地表方块之间的高度差,并拒绝超过 max_terrain_height_difference 的候选位置。设置为 0 可禁用地形检查。
max_terrain_height_difference (默认:16,范围:0–100)
地形检查半径内允许的最大高度差(以方块为单位)。16 允许平缓的山丘;更小的值要求更平坦的地面。
max_search_attempts (默认:10,范围:1–50)
在放弃并使用目前找到的最佳位置之前,要评估多少个结构。每次尝试大约需要 1–4 秒,具体取决于结构类型。搜索从世界中心向外螺旋扩展,因此增加此值会覆盖更大的区域。如果搜索总是用尽所有尝试次数,请增加此值或放宽生物群系/地形限制——状态命令会告诉你哪些检查失败最多。如果未找到完美的候选位置,则会通过评估结构本身所在的生物群系、周围生物群系百分比和平坦度检查,尽可能选择最接近完美的结构作为回退。
玩家传送与消息
这些设置控制玩家如何以及何时被传送,以及他们看到什么消息。
teleport_delay_ticks (默认:100)
玩家加入或结构找到后,等待多久再传送,以刻为单位(20 刻 = 1 秒)。延迟期间会显示警告。设置为 0 可立即传送且无警告。
spawn_proximity_radius (默认:128)
已经位于结构此方块半径内的玩家会跳过传送,并改为收到欢迎消息。这处理了常见情况,即玩家在结构已被找到后自然出生在世界出生点。
kill_nearby_hostiles_radius (默认:64)
第一位玩家到达时,清除结构周围此半径方块内的敌对生物。生物只会被清除一次。设置为 0 可禁用。
send_popup_messages (默认:true)
启用或禁用所有弹出消息。也可以通过将单个消息留空来单独禁用。
send_chat_messages (默认:true)
启用或禁用所有聊天消息。也可以通过将单个消息留空来单独禁用。
structure_found_message (默认:"Structure found")
玩家即将被传送时显示的消息。
welcome_message (默认:"Welcome home.")
成功传送后显示的消息。
search_in_progress_title (默认:"Searching...")
向搜索仍在进行期间加入的玩家定期显示的消息。
search_in_progress_subtitle (默认:"The server may be slow. Please wait.")
与 search_in_progress_title 一起显示的消息。
failure_message (默认:"No structure found.")
搜索完成但未找到任何候选结构时向玩家显示的消息。
teleport_warning_message_override (默认:"")
覆盖自动的“X 秒后传送...”倒计时消息。可用于翻译该消息或更改其措辞。留空则使用默认倒计时。
将任何消息字段留空将完全禁用该特定消息。
性能
搜索有意在服务器线程上运行,并且在活动时会导致服务器卡顿。这是预期行为,而且是暂时的。每次服务器过载时搜索都会暂停,这确保了服务器永远不会因为刻延迟而崩溃。在搜索期间加入的玩家会通过 search_in_progress_title 和 search_in_progress_subtitle 消息收到通知。一旦找到合适的位置,服务器就会完全恢复响应。
命令
所有命令都需要操作员权限级别 2。
/structurespawnpoint status
如果搜索正在进行中,它将显示其状态。当搜索完成时,它将显示找到的位置和结构 ID,以及诊断报告,如果搜索难以找到良好匹配,还会提供可操作的建议。
/structurespawnpoint reset
清除已保存的出生点并触发新的搜索。所有在线玩家都会收到通知,并在找到新位置时被传送。配置会在重置时重新加载,因此配置更改无需完全重启服务器即可生效。
兼容性
- 地形改造模组(已测试 Terralith)— 完全兼容
- 结构放置模组(已测试 Improved Village Placement)— 完全兼容
- 其他出生点模组 — 兼容;结构出生点通常会覆盖其他模组,因为其验证检查需要更长时间完成,导致它会最后设置世界出生点
- 回放模组(已测试 Flashback)— 完全兼容;回放期间的观察者加入不会触发传送
- 下界和末地维度 — 不支持;模组仅搜索主世界
备注
- 传送期间,当目标区块加载时,玩家可能短暂地看起来坠落穿过世界。这是由于客户端在区块数据到达之前收到传送而造成的视觉假象,不会造成任何伤害。
- 支持水下结构,但可能会将玩家生成在水下。
- 支持地下结构,但玩家仍会被传送到地表。所有生物群系检查也在地表进行,因此无法检测正确的地下生物群系。
- 搜索仅在全新世界上运行。一旦出生点被保存,它会在服务器重启后持续存在。使用
/structurespawnpoint reset强制进行新的搜索。 - 单人游戏和专用服务器均受支持。
GitHub
https://github.com/AndartaMC/structure-spawn-point
许可证
MIT — 欢迎将此模组包含在整合包中。
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。