微砖类型与 TileEntity
基本信息
| 属性 | 值 |
|---|---|
| TileEntity 类 | com.creativemd.littletiles.common.tileentity.TileEntityLittleTiles |
| 注册名 | LittleTilesTileEntity |
| 注册位置 | LittleTiles.java:124 GameRegistry.registerTileEntity(TileEntityLittleTiles.class, "LittleTilesTileEntity") |
| 挂载方块 | littletiles:BlockLittleTiles(唯一) |
| 微砖实现数 | 3(见下表) |
| 内部数据结构 | LittleTileSize(sizeX/sizeY/sizeZ,单位 1/16 格)、LittleTileBox、LittleTileVec、LittleTileCoord |
功能
TileEntityLittleTiles 是 Little Tile 方块的全部状态容器,保存一个 List<LittleTile>。它负责:
- 微砖的增删改查:
addTile/addTiles/removeTile/updateTiles/getTile(LittleTileVec) - 新微砖的空间校验:
isSpaceForLittleTile有 4 个重载,覆盖 AxisAlignedBB / LittleTileBox / LittleTileCutoutInfo 与忽略参数 - 客户端射线拾取:
getMoving有 3 个重载(EntityPlayer/Vec3 + look),配合updateLoadedTile与checkClientLoadedTile - 合并:
combineTiles()与combineTiles(LittleStructure) - 网络同步:
getDescriptionPacket/onDataPacket - 光照与渲染:
getMaxLightValue、shouldRenderInPass、getRenderBoundingBox、customRenderingTiles
已注册的微砖实现
LittleTile 是抽象基类(LittleTile.java:39),抽象成员包括 saveTileExtra / loadTileExtra / copyExtra / getDrop / getRenderingCubes / getSound / canSawResize / getIcon。LittleTiles.java:128-131 只注册了 3 个子类:
| 注册 id | 类 | 继承 | 说明 |
|---|---|---|---|
BlockTileBlock |
LittleTileBlock |
LittleTile |
基础微砖,保存 block + meta |
BlockTileEntity |
LittleTileTileEntity |
LittleTileBlock |
带 TileEntity 的微砖,含 renderTick |
BlockTileColored |
LittleTileBlockColored |
LittleTileBlock |
染色微砖,由 Little Color Tube 生成 |
⚠️ 死代码:
LittleTiles.java:129有一行// LittleTile.registerLittleTile(LittleTileStructureBlock.class, "BlockTileStructure");完全处于注释中。全仓grep -rn 'LittleTileStructureBlock' src/只有这 1 处命中(即该注释自身),无类定义、无其它引用。BlockTileStructure不是本 mod 的可用微砖类型,不计入上表。
微砖几何
LittleTileSize 以 1/16 格为单位存储三维尺寸:
| 方法 | 公式 | 用途 |
|---|---|---|
getPosX/Y/Z() |
size / 16D |
换算为方块坐标 |
getVolume() |
sizeX * sizeY * sizeZ |
体积 |
getPercentVolume() |
getVolume() / (16 * 16 * 16) |
占整格的体积百分比 |
calculateCenter() |
floor(size / 2) |
中心点(向下取整) |
calculateInvertedCenter() |
ceil(size / 2) |
翻转后中心点(向上取整) |
rotateSize(ForgeDirection) |
交换对应轴 | 旋转后重算尺寸 |
rotateSize 只处理 UP/DOWN(交换 X 与 Y)与 SOUTH/NORTH(交换 X 与 Z),其余方向为 no-op。
数值
| 数值名 | 值 |
|---|---|
| 坐标最小单位 | 1/16 格(1 像素) |
| 单方块内微砖理论上限 | 4096(16³) |
| 材质分支判断 | isSpaceForLittleTile 4 个重载 |
合成配方
不适用。微砖是 Little Tile 的运行时内容,不是可合成物品。
相关条目
- Little Tile - 承载本 TileEntity 的方块
- 形状模式 - 12 种外形枚举
- 放置模式 - 4 种放置行为枚举
- 微砖结构 - 5 种内置结构