Machine Block(机器方块)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | 6 个,见下表(不存在 binniecore:machine) |
| TileEntity | TileEntityMachine(由各 MachinePackage.createTileEntity() 产出) |
| 硬度 | 1.5 |
| 爆炸抗性 | 源码未调用 setResistance |
| 亮度 | 0 |
功能
BlockMachine 是 Binnie 全部机器方块的共用实现类(binnie/core/machines/BlockMachine.java:32),本身不注册。真正注册的是 MachineGroup 的构造过程:MachineGroup 每被 new 一次,就 new BlockMachine(this, blockName) 并调 GameRegistry.registerBlock(block, ItemMachine.class, blockName)(binnie/core/machines/MachineGroup.java:46-47)。
BlockMachine 构造函数只设了 setHardness(1.5f)(BlockMachine.java:34-36),Material.iron,isOpaqueCube() 返回 false,渲染类型取 Binnie.Machine.getMachineRenderID()(BlockMachine.java:58-60),由 ManagerMachine.postInit() 向代理注册(ManagerMachine.java:82)。
实际注册的 6 个机器方块
| 注册名 | 创建位置 | 所属 mod | 机器类型枚举 |
|---|---|---|---|
BinnieCore:storage |
core/machines/storage/ModuleStorage.java:18-21 |
BinnieCore | Compartment.values() |
Genetics:machine |
genetics/machine/ModuleMachine.java:32 |
Genetics | GeneticMachine.values() |
Genetics:labMachine |
genetics/machine/ModuleMachine.java:35-38 |
Genetics | LaboratoryMachine.values() |
Genetics:advMachine |
genetics/machine/ModuleMachine.java:42-45 |
Genetics | AdvGeneticMachine.values() |
ExtraTrees:machine |
extratrees/machines/ModuleMachine.java:19-23 |
ExtraTrees | ExtraTreeMachine.values() |
ExtraBees:alveary |
extrabees/apiary/ModuleApiary.java:29 |
ExtraBees | AlvearyMachine.values() |
⚠️ 已订正:原条目写注册名
binniecore:machine。该注册名不存在——MachineGroup的注册用调用方 mod 作为域(MachineGroup.java:47传的blockName与激活的 mod 容器),实际产生上述 6 个不同域的方块,其中 BinnieCore 自己只注册了storage。
TileEntity
TileEntityMachine 持有 Machine 对象,Machine 封装业务逻辑。BlockMachine.createTileEntity() 按 block metadata 查 group.getPackage(meta),取其 createTileEntity()(BlockMachine.java:64-71);查不到对应包时返回 null。
数值
无能量/流体数值。数值属性由各 MachinePackage 及其组件决定。
交互
| 触发 | 行为 |
|---|---|
| 右键 | BlockMachine.java:102 调 ((TileEntityMachine) entity).getMachine().onRightClick(world, player, x, y, z) 打开机器 GUI |
| 左键 | 无特殊行为 |
| 破坏 | 掉落按 MachinePackage.getDisplayName() 命名的物品堆叠 |
所属多方块结构
ExtraBees:alveary 参与 Alveary。其余 5 个无。
相关条目
- Alveary - 蜂巢多方块结构
- Item Machine - 机器方块的物品形式
- Ectoplasm / Hive - ExtraBees 其余方块