BlockCore

基本信息

属性 值
路径 mrtjp.core.block.coreblock.scala
源码 src/main/scala/mrtjp/core/block/coreblock.scala:18

供其它 mod 继承的方块基类。构造即注册。

BlockCore

方法 说明
构造 (name, mat) setBlockName(name) + GameRegistry.registerBlock(this, getItemBlockClass, name)
getItemBlockClass 默认 classOf[ItemBlockCore]
bindTile\[A <: TileEntity\]\(c) GameRegistry.registerTileEntity(c, getUnlocalizedName)

ItemBlockCore

方法 说明
构造 setHasSubtypes(true) + setMaxDamage(0)(metadata 承载变体)
getMetadata(meta) 直接返回 meta
getUnlocalizedName(stack) 覆写为 super + "|" + damage(竖线分隔)
placeBlockAt(...) 放置后若方块是 InstancedBlock 则调 postBlockSetup(...),并传入 CodeChickenLib 的 Vector3(hitX, hitY, hitZ)

BlockDefinition

abstract class BlockDefinition extends ItemDefinition,提供 getBlock / getItem, 内含 class BlockDef extends ItemDef——用于以 enum 方式声明方块的全部变体。

缺陷

placeBlockAt 覆写用的是已过时的 placeBlockAt 签名(EntityPlayer 而非 EntityLivingBase, x/y/z 为 int 而非 BlockPos),这在 MCP 1.7.10 的新命名下无法编译, 说明本文件仍停留在旧 MCP 映射,属历史遗留的命名不一致。

相关条目