BlockMachine
基本信息
| 属性 | 值 |
|---|---|
| 类名 | remoteio.common.block.BlockMachine |
| 注册名 | machine |
| 子名 | reservoir(meta 0)/ heater(meta 1) |
| TileEntity | meta 0 → TileMachineReservoir,meta 1 → TileMachineHeater |
| ItemBlock | ItemBlockMulti |
功能
双用途机器方块,用 metadata 区分两种完全不同的机器:
| meta | 子名 | 机器 | 作用 |
|---|---|---|---|
| 0 | reservoir |
储液罐 | 流体缓冲,替代原版单槽水桶 |
| 1 | heater |
加热器 | 产出热量单位(HU),供 IC2 机器消费 |
实现要点
createNewTileEntity(World, int meta)的switch只有case 0与case 1, 其余返回null—— 意味着用命令给出的非法 meta 会得到无 TileEntity 的空气行为方块。damageDropped(int damage)直接return damage,即不消耗耐久。- 纹理共 3 张(
icons数组长 3):reservoir、heater、machine_inactive; 另有 2 张overlays(overlay/reservoir、overlay/heater)。 getIcon(IBlockAccess, x, y, z, side)会读 TileEntity 的filled状态动态选图标: 未装满时统一显示machine_inactive(icons[2]),因此物品形态与放置后形态外观不同。getSubBlocks在创造模式列出 meta 0 与 meta 1 两个 ItemStack。
相关条目
- TileMachineReservoir - meta 0 的方块实体
- TileMachineHeater - meta 1 的方块实体
- ItemBlockMulti - 物品形式,按 meta 命名
- RemoteIO -
heatProvided配置的消费方