液体伪装方块

基本信息

属性 值
注册名 RandomThings:fluidDisplay
类 lumien.randomthings.Blocks.BlockFluidDisplay
TileEntity TileEntityFluidDisplay(BlockFluidDisplay.java:33)
材质 Material.glass
硬度 0.7F(BlockFluidDisplay.java:26)
贴图 无自有贴图;getIcon 动态返回流体图标(:37-48)
开关 Blocks.FluidDisplay(RTConfiguration.java:199)

功能

液体伪装方块是单格的流体展示方块:它自身不存流体,而是渲染所在 TileEntity 中记录的流体贴图,因此可以做成看起来像水、岩浆或其他任意 Forge 流体的方块。

getIcon 的逻辑(BlockFluidDisplay.java:37-48)分三层:

  1. TileEntity 为 null、getFluidName() 为空串、或 FluidRegistry.getFluid() 查不到该流体 → 返回 blockIcon
  2. te.flowing() 为 false(静止)→ 返回 FluidRegistry.getFluid(name).getIcon()
  3. 否则(流动中)→ 返回 getFlowingIcon()

也就是说它能区分静止与流动两种图标状态,这是它与 高级液体伪装方块 的主要差别之一(后者按面区分)。

类直接继承 BlockContainer(而非本 mod 的 BlockContainerBase),并在自己构造函数里调用 GameRegistry.registerBlock(this, "fluidDisplay")(BlockFluidDisplay.java:28)。

数值

数值名 值
可展示流体数 不限(跟随 Forge 流体注册表)
每面独立流体 否(整块共用一个 getFluidName())
图标状态 2 种(静止 / 流动)

交互

触发 行为
右键 打开 GUI GuiIds.FLUID_DISPLAY 以外的交互,见类中 onBlockActivated
破坏 掉落自身

合成配方

ggg
gbg
ggg
字符 物品
g 玻璃板(矿物辞典 paneGlass)
b 玻璃瓶(Items.glass_bottle)

一次产出 8 个(new ItemStack(ModBlocks.fluidDisplay, 8))。来源:Library/Recipes.java:154-163。

升级配方(无序):advancedFluidDisplay = fluidDisplay + gemLapis(Recipes.java:164-165)。

相关条目