SmelteryBlock
熔炉多方块结构的控制器方块。⚠️ 已订正:原文把本方块描述为「建造熔炉多方块结构的基础材料/形成熔炉墙壁」,语义写反了。
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | TConstruct:Smeltery |
| 类 | tconstruct.smeltery.blocks.SmelteryBlock(InventoryBlock 子类) |
| TileEntity | SmelteryLogic(注册名 TConstruct.Smeltery) |
| 硬度 | 3.0 |
| 爆炸抗性 | 20.0 |
| 方块材质 | Material.rock,脚步声 soundTypeMetal |
已订正:
注册名原文写作tconstruct:SmelteryBlock——取自 Java 类名而非GameRegistry.registerBlock(..., "Smeltery")的字符串实参。 证据:TinkerSmeltery.java:561registerBlock(TinkerSmeltery.smeltery, SmelteryItemBlock.class, "Smeltery")。 爆炸抗性原文写 18.0,正确值 20.0。证据:SmelteryBlock.java:43setResistance(20F)。 modid 原文写小写tconstruct,实测为大写TConstruct(TConstruct.java:129)。
功能
本方块是熔炉多方块的控制核心(master),不是墙壁材料。 它是放置多方块时的锚点,检测到合法结构后把整个熔炉注册为一个整体逻辑单元。
熔炉的墙壁用的是另一种方块 TConstruct:SearedBrick(注册于 TinkerWorld.java:292,类为 TinkerWorld.oreSlag),两者不可混淆。
控制器与从属方块
| 角色 | 方块注册名 | TileEntity |
|---|---|---|
| 控制器(master) | TConstruct:Smeltery |
SmelteryLogic |
| 从属(servant) | TConstruct:LavaTank |
LavaTankLogic |
| 从属 | TConstruct:CastingChannel |
CastingChannelLogic |
| 从属 | TConstruct:SearedBlock |
CastingTableLogic / FaucetLogic / CastingBasinLogic |
| 从属 | TConstruct:SmelteryNether |
SmelteryLogic(下界变体,独立注册名) |
实现的接口
SmelteryLogic extends InventoryLogic implements IActiveLogic, IFacingLogic, IFluidTank, IMasterLogic
(SmelteryLogic.java:61)
结构要求
- 尺寸可变、自动居中:放置控制器后沿 X/Z 四向探测空气直到撞墙,再把控制器对齐到内腔中心(
alignInitialPlacement,SmelteryLogic.java:714-756) - 至少需要 1 个岩浆槽:
checkSameLevel()返回checkBricksOnLevel(...) && lavaTanks.size() > 0(SmelteryLogic.java:855-860),没有岩浆槽则结构判定失败 - 朝向由
alignInitialPlacement的 switch 决定控制器朝向(6 个朝向)
所属多方块结构
- Smeltery — 本方块即其控制器
相关条目
- LavaTankBlock — 岩浆槽(必需)
- CastingChannelBlock — 浇注通道
- GlassBlockConnected — 熔炉观察窗
- SearedSlab — 焦石台阶