下界岩熔炉
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | Natura:NetherFurnace |
| 方块类 | mods.natura.blocks.tech.NetherrackFurnaceBlock |
| TileEntity | mods.natura.blocks.tech.NetherrackFurnaceLogic |
| 硬度 | 3.5 |
| 材质 | Material.rock |
| 创造标签 | natura.plants(NaturaTab.tab) |
| 燃料效率 | 原版的 2 倍 |
| 开关 | enableNetherFurnaces |
功能
下界岩熔炉是 Natura 对原版熔炉的完整重写版本,燃烧速度为原版的两倍。它继承 TileEntityFurnace,但覆写了整套逻辑(NetherrackFurnaceLogic),是 Natura 中少数几个带完整 TileEntity 与 GUI 的方块之一。
与原版熔炉的差异:
- 燃料时间翻倍:
updateEntity中furnaceBurnTime = TileEntityFurnace.getItemBurnTime(inventory[1]) * 2,从存档读取时同样乘 2(NContent侧NetherrackFurnaceLogic.java:262-263、:146) - 带朝向:客户端通过
setDirection(yaw, pitch, object)记录玩家放置时的朝向,存为 NBT 字段Direction(NetherrackFurnaceLogic.java:409-428) - 点火即发送方块更新:
active布尔字段变化时调用worldObj.markBlockForUpdate,向客户端推送S35PacketUpdateTileEntity(:284-301) - 不使用原版
BlockFurnace.updateFurnaceBlockState:该调用在:302-303被注释掉,改为自行标记
槽位自动化(getAccessibleSlotsFromSide):
| 面 | 方向参数 | 可访问槽位 |
|---|---|---|
| 底面 | 0 | {2, 1} |
| 顶面 | 1 | {0} |
| 侧面 | 2–5 | {1} |
isItemValidForSlot:槽位 2(产物)拒绝一切物品,槽位 1(燃料)仅接受 isItemFuel 为真的物品,槽位 0(原料)接受一切。canExtractItem 例外地允许从底面取出水桶(NetherrackFurnaceLogic.java:374-403)。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 每件物品烧炼时间 | 200 tick | NetherrackFurnaceLogic.java:222 |
| 燃料时间倍率 | ×2 | NetherrackFurnaceLogic.java:262-263 |
| 槽位数 | 3 | NetherrackFurnaceLogic.java:27 |
| 单槽上限 | 64 | NetherrackFurnaceLogic.java:212 |
| 玩家交互距离上限 | 64.0 平方距离 | NetherrackFurnaceLogic.java:363 |
交互
| 触发 | 行为 |
|---|---|
| 右键 | 打开熔炉 GUI(GUI ID 0,经 NGuiHandler 注册,Natura.java:121) |
| 漏斗自动化 | 底面抽产物 / 顶面进原料 / 侧面进出燃料,见上表 |
| 破坏 | 方块内容按 EntityItem 散落 |
合成配方
使用 8 个下界岩以标准熔炉形状合成,产出 1 个下界岩熔炉(NContent.java:930):
###
# #
###
# = 下界岩(Blocks.netherrack),产出 1 个下界岩熔炉(NContent.java:930)。
注意:NContent.preInit 第 149 行会把原版下界岩的爆炸抗性改为 4f。