GlymeraWorldGen

GlymeraWorldGen

只需一条命令,即可在运行时切换服务器的生物群系。可选平原、沙漠、针叶林、火山或默认的混合世界。仅影响新生成的区块——无需重启服务器。

世界生成

简短描述(CurseForge 字段)

为你所能描述的任何生物群系生成一个独立的世界。从五个内置生物群系(平原、沙漠、针叶林、火山、默认)中选择,或在配置文件中使用 17 个地形参数定义你自己的自定义生物群系。一个指令,一个世界,一种生物群系。玩家可以随意传送进出。创建的世界会在重启后保留。

当前版本仅适用于 Hytale stable 5!不要错过我的其他激动人心的项目 —— 请查看 GlymeraCraft 的个人主页,Discord: https://discord.gg/s5NRFWfxgy


GlymeraWorldGen - 一个指令,一种生物群系,一个世界

GlymeraWorldGen 是什么?

GlymeraWorldGen 是一款服务器管理员工具,它能将生物群系的多样性转化为独立的、持久的维度,供你自由进出。从同一个大厅开始,启动一个沙漠世界、一个针叶林世界、一个自定义的冰雪与石英“world_8”世界 —— 所有世界都运行在同一台服务器上,全部通过一个指令完成。

每个世界都是一个真实的 Hytale 世界:它会惰性生成新区块,会记住在其中睡过的玩家,并且像其他任何世界一样存在于 universe/worlds/<名称>/ 目录中。该插件的贡献在于,它使得以下操作变得轻而易举:为世界分配一种生物群系、稍后修改该生物群系,以及使用一个包含 17 个地形参数的配置文件定义你自己的生物群系

本插件默认仅限 OP 使用。所有指令都需要服务器操作员权限。


指令

/bw create <名称> <生物群系>

创建并加载一个名为 <名称> 的新世界,并立即分配指定的生物群系。世界的出生点区域会从最初创建的区块开始,就生成在该生物群系中 —— 传送进入的玩家将直接降落在正确的地形上。

<生物群系> 可以是以下之一:

  • none —— 创建世界但不分配生物群系。如果你希望先加载世界,稍后再通过(/bw biome)交互式地选择生物群系,这个选项会很有用。世界将按照 Hytale 的默认规则生成。
  • plains —— 绿色、多草、平缓的山丘(Hytale 区域1)。
  • desert —— 沙子、砂岩、干燥海岸(Hytale 区域2)。
  • taiga —— 寒冷、适合针叶林的地形(Hytale 区域3)。
  • volcanic —— 玄武岩、岩浆、炽热海岸(Hytale 区域4)。
  • default —— 未修改的 Hytale 四区域混合体(包含所有生物群系的大陆)。
  • 你在 config.json 中定义的任何自定义生物群系键(见下文)。

如果你输错了生物群系名称,该指令将拒绝创建世界并列出所有有效选项。

/bw tp <名称>

传送到世界的出生点。你之前所在的世界会被记住,因此 /bw back 可以让你返回原来的位置。

/bw back

返回到你执行上一次 /bw tp 之前所在的世界。对于快速“进入这个世界看看”的管理员循环操作非常有用。

/bw biome <生物群系>

改变你当前所在世界的生物群系。新加载的区块将使用新的生物群系;已经生成的区块则保留其旧的地形。

/bw biomes

列出所有可用的生物群系(内置的 + 来自 config.json 的自定义生物群系)。

/bw list

列出该插件正在管理的每一个世界及其当前分配的生物群系。

/bw delete <名称>

删除一个受管理的世界(包括 universe/worlds/ 下的目录、插件中关于它的记录以及所有区块)。需要二次确认。

/bw reload

从磁盘重新加载 config.json —— 在编辑自定义生物群系定义后,无需重启服务器即可生效。


自定义生物群系

该插件带有五个内置生物群系,但其真正的强大之处在于定义你自己的生物群系。首次运行后,打开 plugins/GlymeraWorldGen/config.json,你会看到一个 customBiomes 部分,其中包含 10 个即可使用的预设(world_1world_10),以及内联的 _howTo_parameters 文档块。

每个自定义生物群系由最多 17 个参数 描述:

参数 描述
surface 顶层方块(例如 Soil_GrassSoil_Sand_WhiteRock_Quartzite)。必需。
sub 表面正下方的层(例如 Soil_DirtRock_Sandstone)。必需。
base 深层地下的填充方块(例如 Rock_StoneRock_BasaltRock_Bedrock)。必需。
surfaceDepth 表面层的厚度(方块数,1-50,默认1)。
subDepthMin / subDepthMax 亚层厚度的随机范围(方块数)。
heightMin / heightMax 地形的最低/最高高度(方块数,1-319)。范围大 = 显著的山脉和山谷;范围小 = 近乎平坦。
noiseType SIMPLEXOLD_SIMPLEX
noiseScale 缩放级别。值越小 = 宽广平缓的山丘;值越大 = 紧密混乱的地形。
noiseOctaves 叠加的细节层数(1-8)。八度音越多 = 精细细节越多。
noisePersistence 每个八度音的贡献强度(0.01-1.0)。值越高 = 越粗糙。
lacunarity 每个八度音变精细的速度(1.0-4.0)。
fractalMode FBM(自然的连绵山丘)、BILLOW(柔和的蓬松形状)、RIDGED(尖锐的山脊)。
waterLevel 海平面(0-319)。设为 0 可创建无水世界。
waterFluid 填充海平面的流体(例如 Water_SourceLava_Source)。
tint 草地/表面环境光的十六进制颜色色调。

定义完成后,可以通过其键来选择该生物群系:

/bw create my_island_world world_3

自定义生物群系的地形规则通过反射应用于已加载的区块生成器 —— Hytale 本身不支持按世界覆盖生物群系,因此该插件深入到正在运行的生成器中,并直接重写其层/高度图/噪声参数。


典型工作流程

# 1) 编辑 plugins/GlymeraWorldGen/config.json —— 在 customBiomes 下定义一种生物群系
# 2) 无需重启服务器即可重新加载配置
/bw reload

# 3) 创建并立即进入一个沙漠世界
/bw create scorched_dunes desert
/bw tp scorched_dunes

# 4) 决定它应该变成你的自定义冰雪生物群系
/bw biome world_8

# 5) 跳回主世界
/bw back

# 6) 查看你有哪些世界
/bw list

兼容性与注意事项

  • universe/worlds/ 下已有的世界 不会被插件触及。该插件只管理它自己创建的世界(或者你首次通过 /bw create 注册的世界)。
  • 每条指令创建一个世界。 这不是批量创建工具;其工作流假定你有意地构建你的世界集合。
  • 内存使用 会随着加载的世界数量和每个世界中的玩家数量而扩展。不要在 4GB 的服务器上打开几十个世界。
  • 持久化 是自动完成的。世界的区块会像主世界一样保存到磁盘,插件的状态(每个世界对应哪种生物群系)保存在 plugins/GlymeraWorldGen/config.json 中。

权限

所有 /bw … 指令都需要服务器操作员权限(*)。非 OP 玩家无法创建、删除或更换生物群系。但是,他们可以自由使用 OP 将其传送到的任何世界。


资源包

该插件自带运行时资源包,位于 mods/GlymeraWorldGen/ 目录下,包含 Hytale 应用生物群系 MaskMappings 所需的 Server/World/Default/Mask.jsonServer/World/Default/Zones.json 文件。该资源包会在每次插件加载时重新生成 —— 无需手动维护。