发光蘑菇
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | Natura:Glowshroom(小型)<br>Natura:greenGlowshroom / Natura:purpleGlowshroom / Natura:blueGlowshroom(大型) |
| 方块类 | mods.natura.blocks.crops.Glowshroom<br>LargeGlowshroom |
| Item 类 | mods.natura.items.blocks.GlowshroomItem(仅小型) |
| 父类 | BlockMushroom(小型),实现 IFlowerPottable |
| 光照等级 | 小型 0.625;绿色 0.5;紫色 0.5;蓝色 0.625 |
| 材质 | Material.wood(大型变种) |
| 开关 | 无(始终注册) |
功能
发光蘑菇是下界的光源植物,共 4 个注册方块:一个小型蘑菇与三个大型蘑菇变种。
| 方块 | 光照 | 材质 | 贴图键 |
|---|---|---|---|
Glowshroom |
0.625 | BlockMushroom 默认 |
Glowshroom |
greenGlowshroom |
0.5 | Material.wood |
green |
purpleGlowshroom |
0.5 | Material.wood |
purple |
blueGlowshroom |
0.625 | Material.wood |
blue |
注册见 NContent.java:228-238。
骨粉催熟
小型 Glowshroom 支持骨粉扩散 —— 由 Natura.bonemealEvent 处理(Natura.java:199-201):
if (event.block == NContent.glowshroom) {
if (NContent.glowshroom.fertilizeMushroom(event.world, event.x, event.y, event.z, event.world.rand))
event.setResult(Result.ALLOW);
}
调用 BlockMushroom.fertilizeMushroom,即原版蘑菇的扩散逻辑(尝试在周围 2×2 区域生成同类方块)。大型 LargeGlowshroom 未接入该事件处理。
火焰抗性
发光蘑菇注册为可燃方块:Blocks.fire.setFireInfo(thornVines, 5, 100) 针对的是荆棘藤而非蘑菇 —— 在 NContent.java:226-238 范围内只有 thornVines 有 setFireInfo 调用,4 个蘑菇方块均未设置燃烧信息,故使用原版默认值。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 小型发光等级 | 0.625 | NContent.java:228 |
| 绿色大型发光等级 | 0.5 | NContent.java:231 |
| 紫色大型发光等级 | 0.5 | NContent.java:234 |
| 蓝色大型发光等级 | 0.625 | NContent.java:237 |
| 骨粉扩散范围 | 原版蘑菇 2×2(fertilizeMushroom) |
Natura.java:200 |
交互
| 触发 | 行为 |
|---|---|
| 骨粉 | 小型蘑菇调用 fertilizeMushroom 扩散;大型蘑菇无反应 |
| 骨粉成功 | 事件结果设为 ALLOW,阻止其他模组的骨粉处理 |
世界生成
由 GlowshroomGenBlueGreen(生成绿色与蓝色)与 GlowshroomGenPurple(生成紫色)两个生成器负责(BaseTreeWorldgen.java:35-36),注册在树世界生成器中。
对应的生成开关为:
| 配置项 | 默认值 |
|---|---|
Generate Green Glowshroom |
true |
Generate Purple Glowshroom |
true |
Generate Blue Glowshroom |
true |
Generate Glowshroom Trees |
true |
(见 PHNatura.java:80-83)