作物世界生成

基本信息

属性 值
世界生成器类 mods.natura.worldgen.BaseCropWorldgen
注册位置 Natura.init(Natura.java:113)
注册权重 20
生成内容 大麦、棉花、4 种主世界浆果丛、4 种下界浆果丛、蓝铃花
群系开关位 Natura.DIM_WORLDGEN_CROP_BIT = 1
条件注册 仅当 enableBerryBushes 或 enableNetherBerryBushes 为真时才注册

功能

BaseCropWorldgen 负责浆果丛、蓝铃花与部分作物(worldgen/BaseCropWorldgen.java)。类注释说明其作用为「向主世界添加作物,当前作物:大麦、浆果丛」(:16-17)。

注册是有条件的(Natura.java:112-114):

if (PHNatura.enableBerryBushes | PHNatura.enableNetherBerryBushes)
    GameRegistry.registerWorldGenerator(crops = new BaseCropWorldgen(), 20);

即两个浆果开关都关闭时,本生成器完全不注册。

生成器实例

构造函数中创建 9 个生成器(BaseCropWorldgen.java:22-33, 195):

字段 生成器类 对应浆果
raspgen BerryBushGen(0, seaLevel + raspSpawnRange) 树莓
bluegen BerryBushGen(1, seaLevel + blueSpawnRange) 蓝莓
blackgen BerryBushGen(2, seaLevel + blackSpawnRange) 黑莓
malogen BerryBushGen(3, seaLevel + geoSpawnRange) 马龙莓
blightgen NetherBerryBushGen(NContent.netherBerryBush, 0) 枯萎浆果
duskgen NetherBerryBushGen(NContent.netherBerryBush, 1) 暮色浆果
skygen NetherBerryBushGen(NContent.netherBerryBush, 2) 天空浆果
stinggen NetherBerryBushGen(NContent.netherBerryBush, 3) 刺浆果
bluebells FlowerGen 蓝铃花

主世界浆果的生成高度为 PHNatura.seaLevel + 对应 Spawn Range,其中 seaLevel 默认 64(PHNatura.java:189)。

作物方块的直接放置

生成器会直接放置 NContent.crops(大麦/棉花作物块),分两处(BaseCropWorldgen.java:148, 161):

行号 放置的 meta 标记
148 3 2
161 8 2

由于 NContent.crops 是单一注册方块通过 meta 区分作物,具体对应哪些 meta 为大麦/棉花需结合 CropBlock 内部实现,此处不作推断。

数值

数值名 值 来源
世界生成权重 20 Natura.java:113
作物开关位 1 Natura.java:105
海平面 64 PHNatura.java:189
树莓范围 seaLevel + 64(稀有度 30) PHNatura.java:133-134
蓝莓范围 seaLevel + 64(稀有度 34) PHNatura.java:135-136
黑莓范围 seaLevel + 64(稀有度 48) PHNatura.java:137-138
马龙莓范围 seaLevel + 64(稀有度 40) PHNatura.java:139-140
枯萎浆果范围 100(稀有度 18) PHNatura.java:142-143
暮色浆果范围 100(稀有度 18) PHNatura.java:144-145
天空浆果范围 100(稀有度 18) PHNatura.java:146-147
刺浆果范围 100(稀有度 18) PHNatura.java:148-149

下界浆果的默认生成范围(100)高于主世界浆果(64)。

生成开关

位于 disabler 分类(PHNatura.java:66-73),全部默认 true:

开关 默认值
Generate Barley Crops true
Generate Cotton Crops true
Generate Bluebell Flowers true
Generate Blueberry Bushes true
Generate Blackberry Bushes true
Generate Raspberry Bushes true
Generate Maloberry Bushes true
Generate Blightberry Bushes true
Generate Duskberry Bushes true
Generate Skyberry Bushes true
Generate Stingberry Bushes true

注意:本生成器的注册条件只看 enableBerryBushes / enableNetherBerryBushes 两个产品开关,上表的逐项 Generate * 开关不影响是否注册生成器。

相关条目