Cubic Vanilla 装饰器
基本信息
| 属性 | 值 |
|---|---|
| 入口类 | com.cardinalstar.cubicchunks.world.worldgen.WorldGenerators |
| 初始化调用点 | CubicChunks.preInit → WorldGenerators.init()(CubicChunks.java:157) |
| 内建装饰器 | BuiltinWorldDecorators.VANILLA、BuiltinWorldDecorators.CUBIC_VANILLA |
| 实现接口 | WorldgenRegistry、IWorldDecorator |
| 地形依赖图 | terrain() → IDependencyGraph<ICubeGenerator> |
| 群系依赖图 | population() → IDependencyGraph<ICubePopulator> |
功能
世界生成由"装饰器(decorator)"驱动。StandardWorldDecorator(api/worldgen/impl/StandardWorldDecorator.java:14)同时实现 WorldgenRegistry 与 IWorldDecorator,把生成拆成两个带依赖图的注册表(terrain() / population(),:21,26)和四个执行阶段:pregenerate(:31)、generate(:38)、prepopulate(:45)、populate(:52)。
WorldGenerators.init()(world/worldgen/WorldGenerators.java:23-30)依次做三件事:
initVanillaTerrain()initVanillaPopulation()- 仅当
Mods.EtFuturumRequiem.isModLoaded()时执行initEFRPopulation()(:27-29)
本移植实际注册的内容(存活)
initVanillaTerrain()(:32-53)中唯一未注释的语句是:
CUBIC_VANILLA.terrain()
.addTarget("caves-all");
即向 CUBIC_VANILLA 的地形依赖图添加一个名为 caves-all 的目标组(WorldGenerators.java:39-40)。initVanillaPopulation()(:55-57)的方法体整体被注释,不注册任何群系填充器。
可选:Et Futurum Requiem 深板岩
initEFRPopulation() 带 @Optional.Method(modid = Mods.ModIDs.ET_FUTURUM_REQUIEM)(:59),向群系依赖图注册 "low-deepslate" → new DeepslateCubePopulator()(:61-62),实现类为 world/worldgen/compat/DeepslateCubePopulator.java:19(implements ICubePopulator)。其 "requires:biomes" 依赖同样被注释掉了(:62 的行内注释)。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 存活的地形目标组 | 1 个:caves-all |
WorldGenerators.java:40 |
| 存活的群系填充器 | 1 个:low-deepslate(仅 EFR 存在时) |
WorldGenerators.java:62 |
| 洞穴选择噪声倍频数 | 2(new OctavesSampler(rng, 2)) |
WorldGenerators.java:71 |
| 洞穴选择噪声缩放 | 0.01(CHOOSER_SCALE) |
WorldGenerators.java:65,71 |
交互
| 触发 | 行为 |
|---|---|
| 模组 preInit | 注册 CUBIC_VANILLA 装饰器内容并建立噪声采样线程池 |
玩家创建 Vanilla + Cubic 世界 |
每个立方体依次走 pregenerate → generate → prepopulate → populate |
| 装有 Et Futurum Requiem | 额外在低处生成深板岩(low-deepslate) |
| 未装 EFR | 跳过深板岩填充,方法被 @Optional.Method 剥离 |
相关条目
- 洞穴生成器 - 大量洞穴生成代码在本移植中未注册
- 世界生成卡死看门狗 - 生成超时保护
- Vanilla + Cubic 世界类型 - 使用
CUBIC_VANILLA的世界类型 - 世界生成 API - 依赖图注册接口