微砖结构

基本信息

属性 值
注册入口 LittleStructure.initStructures(),LittleTiles.java:143 调用
实现文件 src/main/java/com/creativemd/littletiles/common/structure/
已注册结构 5
基类 LittleStructure(抽象)

功能

结构(Structure)让一组微砖成为一个可整体操作的整体,而不是各自独立的小块。LittleStructure 抽象类持有 public LittleTile mainTile(LittleStructure.java:95),并被 LittleTile.structure 字段反向引用(LittleTile.java:438,public LittleStructure structure;)。

结构通过 NBT 的 id 字符串序列化:createAndLoadStructure(nbt, mainTile) 读出 id,用 getEntryByID 查到类后反射 getConstructor().newInstance() 实例化,再 loadFromNBT(nbt)。找不到或实例化失败时打印 Found invalid structureID=<id>(LittleStructure.java:85)。

registerLittleStructure 带去重保护:id 重复时打印 ID is already taken! id=,类重复时打印 Already registered class=。

结构表

LittleStructure.java:66-72 注册的 5 个结构:

id 类 说明
fixed LittleFixedStructure 固定结构,不参与合并/拆分
chair LittleChair 椅子
door LittleDoor 门(带开合交互,使用 n247s 事件系统 @CustomEventSubscribe)
ladder LittleLadder 梯子
bed LittleBed 床

LittleStructure 的静态注册表还提供双向查询:getIDByClass / getClassByID / getEntryByID / getStructureNames。

getStructureNames() 返回 structures.keySet() 的副本,因此顺序不保证稳定。

数值

数值名 值
已注册结构数 5
NBT 键 id(结构标识)
反序列化失败提示 Found invalid structureID=<id>

交互

触发 行为
放置含结构的微砖 结构整体写入 NBT,id 字段标记类型
加载世界 createAndLoadStructure 按 id 反射重建
拆分微砖 含结构的微砖被跳过(oldTile.structure == null 才拆分),见 Little Rubber Mallet
Little Door 走 n247s 自定义事件系统

合成配方

无。结构由微砖交互产生,不通过合成。

相关条目