作物世界生成
基本信息
| 属性 | 值 |
|---|---|
| 世界生成器类 | 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 * 开关不影响是否注册生成器。