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 |
源码缺陷
- 冗余的三元表达式。
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不可达。行为无实际错误,属死代码。 getExpDrop内层if (this == BlockRegistry.pamSalt)(:37)在外层if之下同样恒真。- 多方块 / 控制器 / 可否旋转:源码未定义。
相关条目
- Compressed Salt — 同一
BlockPamSalt类,行为不同 - Churn — 盐是其专用燃料
- Sink
订正记录
- 本条目为新增。旧 wiki 无本条目。