Little Chisel
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | littletiles:chisel |
| 内部名 | LTChisel |
| 显示名 | Little Chisel |
| 类 | com.creativemd.littletiles.common.items.ItemLittleChisel |
| 最大堆叠 | 1(setMaxStackSize(1)) |
| 子类型 | hasSubtypes = true |
| 创造标签图标 | LittleTilesCreativeTab.getTabIconItem() 返回本物品 |
| GUI 框架 | ModularUI 2(ModularScreen) |
功能
Little Chisel(微砖凿)是 LittleTiles 的主工具,负责放置微砖。它把三件事记在物品 NBT 上:要被"画"成微砖的方块+meta、网格粒度、形状与放置模式。
实现类同时实现 ILittleTile 与 IGuiHolder<PlayerInventoryGuiData>,是全 mod 唯一使用 ModularUI 2 界面的物品。
工具状态由 LittleToolHandler 读写(LittleToolHandler.java:21),NBT 键为 block / meta / grid / shape 段 / placeMode。addInformation 显示 Block: + 目标方块的显示名。
关键机制:
- 选中方块:通过 拾取 Mixin 拦截
ForgeHooks.onPickBlock,把准星所指方块写入 NBT - 两点确定放置:
onItemUse需要起止两次命中,源码注释说明「GUI 里选的 shape 在两次命中都确定后才变成具体 cutout」 - GUI 同步:GUI 改动通过
IntSyncValue/BlockStateSyncValue同步,LittleItemUpdatePacket回写服务端
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 网格档位 | 1 / 2 / 4 / 8 / 16 | ItemLittleChisel.java:231 String[] gridSizes |
| 实际微砖边长 | 16 / N 像素 | final int realSize = 16 / Integer.parseInt(size) |
| 形状种类 | 12 | LittleTileShapeMode 枚举,见 形状模式 |
| 放置模式 | 4 | LittleTilePlaceMode 枚举,见 放置模式 |
| 最大堆叠 | 1 | 构造函数 |
交互
| 触发 | 行为 |
|---|---|
| 左键方块 | 拾取方块+meta 存入 NBT(经 Mixin) |
| 右键方块 | 放置微砖;第二次命中确定另一端 |
| 右键空气 / 打开 GUI | 打开 ModularUI 工具面板(凿子面板) |
| 潜行 + 左键 | 取消当前目标 |
| 破坏 | 无耐久损耗(类中无 setMaxDamage / getMaxDamage 覆写) |
合成配方
没有合成配方。 LittleTiles.java:147-169 的 6 条 GameRegistry.addRecipe 覆盖 hammer、container、saw、wrench、rubberMallet、colorTube,chisel 不在其中。源码中也无任何 Items.* 组装它的配方调用。
相关条目
- 放置模式 - 4 种放置行为
- 形状模式 - 12 种微砖外形
- 网格与按键设置 - 5 档网格与 7 个快捷键
- Little Hammer - 同样能放置微砖的早期工具
- 合成配方总表 - 本 mod 全部 6 条配方