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 映射,属历史遗留的命名不一致。