Firestone Geode Structure
基本信息
| 属性 | 值 |
|---|---|
| 结构类型 | 矿石生成(Ore Geode) |
| 生成维度 | 下界(NETHER) |
| 生成位置 | Y = 31 附近 |
| 生成器 | WorldGenFirestone |
生成条件
public boolean canGen(World world, Random rand, BlockPos targetPos, Biome biome) {
return BiomeDictionary.hasType(biome, BiomeDictionary.Type.NETHER)
&& TerrainGen.generateOre(...)
&& rand.nextDouble() <= 0.1; // 10% 几率
}
触发条件
- 维度:必须是下界(NETHER)
- 生物群系:标记为 NETHER 类型
- 地形生成:通过
TerrainGen.generateOre校验 - 随机几率:10%(0.1)
生成逻辑
WorldGenFirestone
public boolean generate(World world, Random rand, BlockPos position) {
// 必须在熔岩池中生成
for (int yy = y; yy > y - 6; yy--) {
if (block != Blocks.LAVA && block != Blocks.FLOWING_LAVA)
return false;
}
// 向下寻找可替换的石头位置
// 在 netherrack 上生成 firestone
}
生成规则
- 在 Y=31 高度生成
- 目标位置以下 6 格范围内必须有熔岩
- 熔岩池底部必须是可替换的石头(netherrack)
- 在 netherrack 上放置 Firestone 方块
生成高度
- 主生成位置:Y = 31 + random(0~15)
- 熔岩池延伸:Y - 6 范围内全是熔岩
产物
生成 EnumOreMagic.FIRESTONE 方块(railcraft:ore_magic#0)。
源码依据
GeneratorFirestone.java- Firestone 生成器WorldGenFirestone.java- 世界生成逻辑EnumOreMagic.java- Firestone 枚举定义