跳到正文
烈焰甘蔗Wiki

Salt(盐矿石)

事实基准:harvestcraft-1.3.14-GTNH.jar(MC 1.7.10 / Forge 10.13.4.1614)CFR 0.152 反编译源码。

基本信息

属性 值 来源
注册名 harvestcraft:salt BlockRegistry.java:653
方块类 BlockPamSalt extends BlockOre BlockPamSalt.java:15-16
字段 BlockRegistry.pamSalt BlockRegistry.java:58
构造 new BlockPamSalt() BlockRegistry.java:453
贴图名 harvestcraft:salt BlockRegistry.java:453
未本地化名 salt BlockRegistry.java:453
显示名 tile.salt.name = Salt Ore en_US.lang:43
硬度 / 爆炸抗性 1.5f / 10.0f BlockRegistry.java:453
TileEntity 无 —
GUI 无 —
多方块 否 —
朝向 不适用(矿石) —
创造模式标签 HarvestCraft.tabHarvestCraft BlockRegistry.java:453

掉落

属性 值 来源
掉落物 ItemRegistry.saltItem(item.saltItem.name = Salt) BlockPamSalt.java:26-31;en_US.lang:453
掉落数量 1 + random.nextInt(3) → 1–3 个 BlockPamSalt.java:19-24
经验 MathHelper.func_76136_a(rand, 0, 2) → 0–2 经验 BlockPamSalt.java:33-45

func_149650_a(getItemDropped)用 this == BlockRegistry.pamSalt 判断实例;同一个类也用于 Compressed Salt,靠实例区分行为。

经验只在特定条件下产生

BlockPamSalt.getExpDrop(:33-45)先判断 func_149650_a(...) != Item.func_150898_a(this)(即掉落物不是方块自身)才返回经验:

  • pamSalt 掉落 saltItem ≠ 方块自身 → 会掉 0–2 经验。
  • pamcompressedsaltBlock 掉落方块自身 → 返回 0 经验(:44)。

配方与用途

  • 合成 Compressed Salt 的原料(随包文档 HarvestCraft 1.7.10Lb Recipes.txt 的 //Compressed Salt Block 段落)。
  • 作为 Churn 的专用燃料:Churn 依次匹配矿辞典 dustSalt / itemSalt / foodSalt(TileEntityChurn.java:55-57),盐烧 1600 tick(:40)。

交互

触发 行为 来源
破坏 按上述掉落规则掉落盐 1–3 个 BlockPamSalt.java:19-31

源码缺陷

  1. 冗余的三元表达式。BlockPamSalt.java:20-22:
    if (this == BlockRegistry.pamSalt) {
        return this == BlockRegistry.pamSalt ? 1 + random.nextInt(3) : 1;
    }
    return 1;
    
    内层三元在 if 已保证 this == pamSalt 的前提下永远走 1 + nextInt(3) 分支,else 分支 1 不可达。行为无实际错误,属死代码。
  2. getExpDrop 内层 if (this == BlockRegistry.pamSalt)(:37)在外层 if 之下同样恒真。
  3. 多方块 / 控制器 / 可否旋转:源码未定义。

相关条目

订正记录

  • 本条目为新增。旧 wiki 无本条目。
浏览全部模组