
生成条件
自定义玩家生成条件

可自定义的玩家出生条件。
配置
| 加载器 | 文件 |
|---|---|
| Forge, NeoForge | config/spawnconditions-common.toml |
| Fabric | config/spawnconditions.json |
| 选项 | 默认值 | 含义 |
|---|---|---|
enabled |
true |
总开关。 |
worldSpawn.randomize |
false |
随机化世界出生点,而不是使用 0,0。 |
worldSpawn.area |
RING |
选择出生点的形状。 |
worldSpawn.centerX / centerZ |
0 |
环形:起始的 x 和 z 坐标。 |
worldSpawn.minRadius / maxRadius |
0 / 10000 |
环形:出生点距离中心的最小和最大距离。 |
worldSpawn.minX / maxX / minZ / maxZ |
-10000 / 10000 |
方形:出生点可用的最低和最高 x 和 z 坐标。 |
worldSpawn.attempts |
32 |
放弃前的尝试次数。每次尝试会加载一个区块。 |
placement.fluidBlocksColumn |
true |
当不允许流体时,跳过整个位置。关闭后则继续在其下方寻找。 |
placement.liquidLanding |
SURFACE |
降落在液体顶部或液体下方的地面上。 |
placement.groundRequirement |
FULL_FACE |
什么算作可站立的地面。 |
placement.requiredHeadroom |
0 |
玩家上方所需的空余空间。0 为原版行为。 |
placement.headroomAllowsFluid |
true |
将玩家上方的液体视为空余空间。 |
placement.maxSearchDepth |
0 |
搜索放弃前可下降的方块数。0 为无限制。 |
placement.minY / maxY |
-2048 / 2048 |
出生点可用的最低和最高 y 坐标。 |
placement.limitHorizontally |
false |
开启下方的 x 和 z 限制。 |
placement.minX / maxX / minZ / maxZ |
-30000000 / 30000000 |
出生点可用的最低和最高 x 和 z 坐标。 |
placement.biomeAllowList |
[] |
仅在这些生物群系中出生。留空表示允许任何生物群系。 |
placement.biomeDenyList |
[] |
绝不在此生物群系中出生。 |
placement.blockAllowList |
[] |
仅在这些方块上出生。留空表示允许任何方块。 |
placement.blockDenyList |
[] |
绝不在此方块上出生。 |
placement.fluidAllowList |
[] |
仅在这些流体中出生。留空表示绝不在流体中出生。 |
placement.fluidDenyList |
[] |
绝不在这些流体中出生。 |
respawn.preventSpawnSetting |
false |
玩家无法设置其出生点。床和重生锚不会保存出生点。 |
respawn.spawnBlockedMessage |
&cYou cannot set your spawn. |
当玩家无法设置出生点时显示的消息。留空则不显示消息。 |
列表
条目是像 modid:name 这样的 ID,或者前面带有 # 的标签,如 #modid:name。任何模组添加的内容的运作方式与原版条目相同。拒绝列表优先检查,因此同时出现在两个列表中的条目将被拒绝。
流体列表的运作方式与生物群系和方块列表相反。空的 fluidAllowList 表示不允许流体出生,这也是原版行为。对于流体请使用标签,因为流体有静止和流动两种状态,所以 #minecraft:water 会同时涵盖两者,而 minecraft:water 只会处理静止状态。
方块列表会检查玩家最终站在其上的方块。
地面要求
| 值 | 地面定义为 |
|---|---|
FULL_FACE |
具有完整顶面的方块。这是原版行为,因此台阶、楼梯、栅栏和墙会被跳过。 |
ANY_COLLISION |
任何具有碰撞箱的方块,因此台阶、楼梯、栅栏和墙都算数。 |
ANY_BLOCK |
任何非空气的方块,包括你会掉落的方块,如草、花和火把。 |
树叶具有完整的碰撞箱,因此它们已经算作 FULL_FACE 下的地面。
洞穴出生点
maxY 是实现洞穴出生的关键。搜索始终从 maxY 开始向下进行,因此将其设置在地表以下会从地下开始搜索,并找到第一处地面:
"placement": {
"maxY": -10,
"minY": -60,
"requiredHeadroom": 2
}
这里需要 requiredHeadroom。没有它,搜索会在 maxY 处遇到的第一个完整方块(通常是石头)处停止,并将玩家生存在方块内部。设置为 2 时,搜索会跳过坚固的岩石并继续向下,直到找到上方有空气的底部。添加 "biomeAllowList": ["minecraft:lush_caves"] 可以选择洞穴生物群系。生物群系是三维的,因此检查会在出生点位置进行,而不是在地表。
备注
worldSpawn 设定了测量其他所有事物的基准点。它仅对新世界的主世界生效。已经存在的世界已保存其出生点。
可以使用原版的 spawnRadius 游戏规则来指定以 0,0 为中心的方块半径,例如 /gamerule spawnRadius 2000。如果你想在每个世界都生效,可以使用 Global GameRules 模组。
preventSpawnSetting 会阻止床和重生锚保存出生点,因此每次死亡都会根据你设定的规则重新进行。/spawnpoint 命令仍然有效。
spawnBlockedMessage:这是玩家无法设置出生点时在快捷栏上方看到的消息。在颜色或格式代码前加上 &,例如 &c 代表红色,&l 代表粗体,&r 用于重置格式。留空则无消息。
所有默认值均为原版行为,因此开启 enabled 的新配置文件在修改任何选项之前,不会造成任何改变。
对于那些特别想要 RLCraft 风格出生的玩家,将 #minecraft:water 放入 placement.fluidAllowList,将 placement.liquidLanding 设置为 FLOOR 以便玩家降落在海床上,并运行 /gamerule spawnRadius 20000。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。