跳到正文
烈焰甘蔗Wiki

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。

数值

无固定数值属性,属性由实现类决定。

交互

无直接交互逻辑,由子类/调用方实现。

所属多方块结构

无

相关条目

浏览全部模组