微砖类型与 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 的运行时内容,不是可合成物品。

相关条目