跳到正文
烈焰甘蔗Wiki

Marble & Limestone Generation

Chisel 世界的装饰性石头矿脉生成。

生成器

GeneratorChisel 实现 IWorldGenerator(GeneratorChisel.java:16), 单例 GeneratorChisel.INSTANCE,以权重 1000 注册(Chisel.java:177)。 每次 generate 回调遍历 map 中全部已注册矿脉(GeneratorChisel.java:60-66)。

生成参数

已订正:原文"生成数量 | amount=1"错误。该值来自配置项, 默认远大于 1。

参数 原文 正确值 证据
脉大小 count 未提及 32 Chisel.java:172-173 传 32 作为 addFeature 第 2 参
Y 范围 minY=40, maxY=128 40 - 128(正确) GeneratorChisel.java:33-35 默认值
marble amount 1 7 Configurations.marbleAmount 默认 7(Configurations.java:126-128)
limestone amount 1 8 Configurations.limestoneAmount 默认 8(Configurations.java:129-131)
触发概率 chance 1 (100%) 1(正确) 3 参 addFeature 重载把 chance 固定为 1(GeneratorChisel.java:33-35)

两者的 Y 范围与 chance 走的是 addFeature(block, count, amount) 三参重载, 即 GeneratorChisel.java:33-35 的默认值 minY=40, maxY=128, chance=1:

addWorldgen(Features.MARBLE,    ChiselBlocks.marble,    Configurations.marbleAmount);
addWorldgen(Features.LIMESTONE, ChiselBlocks.limestone, Configurations.limestoneAmount);

(Chisel.java:172-173)

注意:这与 Granite/Diorite/Andesite 走的是不同重载——后者显式传 40-100 与 chance 0.5。 原文把两者的参数混为一谈,已分别订正。

生成的方块

方块 描述 变体组
chisel:marble 大理石 marble
chisel:limestone 石灰岩 limestone

两者均无 requiredMod、无父 Feature(Features.java:2475、:2352), Features.enabled() 恒为真,生成一定会注册。

生成机制

genStandardOre 方法(GeneratorChisel.java:44-53):

  • 每个区块回调一次,对 map 中每种矿脉循环 amount 次
  • 每次以 random.nextDouble() < chance 判定是否生成
  • Y 坐标:minY + random.nextInt(maxY - minY) + 1 ——即 41-128(nextInt(88) 产生 0-87)
  • 实际铺设由 WorldGenMinable.generate 完成,count = 32 决定单次脉的方块数

原文"每 chunk 生成一次 / 每次生成在 minY-maxY 范围内随机选择 Y 坐标 / 使用 WorldGenMinable 标准矿石生成逻辑"均正确, 仅 amount 与缺失的 count 需要订正。

浏览全部模组