BlockMetadata(metadata 方块基类)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | 未注册(不存在 binniecore:metadata) |
| TileEntity | TileEntityMetadata(TileEntity ID binnie.tile.metadata) |
| 硬度 | 未指定(构造函数只传 Material) |
| 爆炸抗性 | 未指定 |
功能
BlockMetadata 是 Binnie 全部 metadata 型方块的共用基类(binnie/core/block/BlockMetadata.java:20,extends BlockContainer implements IBlockMetadata)。它自身从不通过 GameRegistry.registerBlock 注册,只作为父类存在。
⚠️ 已订正:原条目写注册名
binniecore:machine同级的binniecore:metadata。全文检索Binnie/src/main/java内所有GameRegistry.registerBlock调用(27 处),没有任何一处注册名为metadata的方块,因此binniecore:metadata不存在。
另需区分:
binnie.tile.metadata是方块实体的注册 ID,不是方块名。GameRegistry.registerTileEntity(TileEntityMetadata.class, "binnie.tile.metadata")见binnie/core/BinnieCore.java:125。
核心功能
BlockMetadata 提供一组静态工具方法,供实现 IBlockMetadata 的方块复用:
getBlockDropped(...)(BlockMetadata.java:79)——按 TileEntity 里的 metadata 生成掉落堆叠breakBlock(...)(BlockMetadata.java:90)——统一的破坏掉落逻辑getPickBlock(world, x, y, z)(BlockMetadata.java:122)——快捷键取方块getPlacedMeta/getDroppedMeta——放置/破坏时读写 metadata
实际调用方(各自只调工具方法,不继承本类):
BlockETPlanks:40,45、BlockETLog:95,100、BlockETSlab:48,51,58、BlockETStairs:73,78、BlockETDoor:189,194、BlockFence:87,92、BlockGate:68,73、BlockCeramic:43,48、BlockStained:74,79、BlockCeramicBrick:51,56、BlockCarpentryPanel:152。
唯一继承本类的子类是 BlockDesign(extratrees/carpentry/BlockDesign.java:32),进而派生 BlockCarpentry / BlockCarpentryPanel / BlockStainedDesign / BlockCeramicPatterned。
数值
无固定数值属性,属性由实现类决定。
交互
无直接交互逻辑,由子类/调用方实现。
所属多方块结构
无