高级液体伪装方块
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | RandomThings:advancedFluidDisplay |
| 类 | lumien.randomthings.Blocks.BlockAdvancedFluidDisplay |
| TileEntity | TileEntityAdvancedFluidDisplay(BlockAdvancedFluidDisplay.java:22-24) |
| 材质 | Material.glass(BlockContainerBase 传入) |
| 硬度 | 0.7F(BlockAdvancedFluidDisplay.java:19) |
| 基础贴图 | RandomThings:advancedFluidDisplay(:26-28) |
| 开关 | 共用 Blocks.FluidDisplay(无独立开关) |
功能
高级液体伪装方块是液体伪装方块的增强版,核心差异是按面独立存流体:查询贴图时接收 side 参数并调用 te.getFluid(side) / te.isFlowing(side)(BlockAdvancedFluidDisplay.java:36-48)。
签名对比(这是两者行为差异的直接证据):
| 单格版 | 高级版 | |
|---|---|---|
getIcon 形参 |
(IBlockAccess, int, int, int, int, int) |
(IBlockAccess, int, int, int, int side) |
| 取流体 | te.getFluidName() |
te.getFluid(side) |
| 流动判断 | te.flowing() |
te.isFlowing(side) |
高级版还额外覆写了 onBlockActivated 来提供交互(BlockAdvancedFluidDisplay.java:54 起),这是单格版没有的。
它继承本 mod 的 BlockContainerBase(:17),因此走统一注册路径 GameRegistry.registerBlock(this, blockName)(BlockContainerBase.java:31),并且 createNewTileEntity 是 final 的统一实现(BlockContainerBase.java:35-42)。
数值
| 数值名 | 值 |
|---|---|
| 独立流体面数 | 6(每个方块面一个) |
| 图标回退 | te.getFluid(side) 为 null/空串/未注册 → 返回 blockIcon(:38-41) |
| 独立配置项 | 无,共用 Blocks.FluidDisplay |
交互
| 触发 | 行为 |
|---|---|
| 右键 | 覆写的 onBlockActivated,按面处理(:54 起) |
| 合成升级 | 无序配方:liquidDisplay + 青金石 |
合成配方
无序配方:advancedFluidDisplay = 1 个 fluidDisplay + 1 个 gemLapis(Library/Recipes.java:164-165)。因此必须先手工制作单格版。
相关条目
- 液体伪装方块 - 单流体版本,本方块的升级基材