Auto Chisel
自动雕刻机是一种 GUI 机器方块,用于自动化 Chisel 雕刻操作。
基本属性
| 属性 | 值 |
|---|---|
| 注册名 | chisel:autoChisel |
| 父类 | BlockContainer(BlockAutoChisel.java:16) |
| 材质 | Material.rock(BlockAutoChisel.java:18) |
| 硬度 | 1.0F(BlockAutoChisel.java:19) |
| 爆炸抗性 | 源码未调用 setResistance,无法核实具体值 |
| 方块边界 | 0.125, 0, 0.125 ~ 0.875, 0.8125, 0.875(BlockAutoChisel.java:20) |
| 透明度 | 非实心方块(isOpaqueCube()=false、renderAsNormalBlock()=false) |
| 渲染 ID | Chisel.renderAutoChiselId(BlockAutoChisel.java:25) |
| 瓦片实体 | TileEntityAutoChisel(BlockAutoChisel.java:76) |
| GUI ID | 1(BlockAutoChisel.java:44) |
| 变体组 | 无 |
已订正:原文未给出注册名、父类、材质。实际注册名为
chisel:autoChisel(Features.java:316,注意是驼峰autoChisel,不是 snake_case),父类为BlockContainer而非BlockCarvable。证据:Features.java:316、BlockAutoChisel.java:16-20。重要补充:
autoChisel通过GameRegistry.registerBlock(autoChisel, "autoChisel")直接注册(Features.java:316),不经过carverHelper.registerAll,因此 不属于任何变体组,无法用雕刻刀改写。原文完全未提及这一点。
交互限制
onBlockActivated 要求 !player.isSneaking() 才开 GUI(BlockAutoChisel.java:42)——
潜行右键不会打开界面。
功能
右键打开 GUI,界面包含以下槽位:
- BASE (0) - 输入原料方块
- TARGET (1) - 目标雕刻变体
- OUTPUT (2) - 输出槽
- CHISEL (3) - 雕刻工具(需实现 IChiselItem)
- 升级槽 (4-7) - 可插入升级物品
升级系统
TileEntityAutoChisel 支持 4 种升级(枚举 Upgrade,TileEntityAutoChisel.java:33-38):
| 升级 | 元数据 | 效果 | 证据 |
|---|---|---|---|
| SPEED | 0 | 雕刻速度 4 ticks → 1 tick | FAST_SPEED=1, SLOW_SPEED=4(:63),:136 |
| AUTOMATION | 1 | 允许侧面自动输入/输出物品 | canInsertItem 限 BASE/TARGET/CHISEL,canExtractItem 限 OUTPUT(:389-397) |
| STACK | 2 | 一次雕刻整组而非单个 | chiseled.stackSize = hasUpgrade(STACK) ? canBeMade : 1(:161) |
| REVERSION | 3 | 用原料所在组的第一个变体作为目标,覆盖 TARGET 槽 | getTarget() 返回 possible.get(0)(:197-206) |
升级槽位为 4~7(MIN_UPGRADE = 4,TileEntityAutoChisel.java:62;
槽位定义见 ContainerAutoChisel.java:28-31)。
Features.AUTO_CHISEL_UPGRADES 是一个 Features 开关(Features.java:329),
关闭时 Upgrade.getUnlocalizedName() 返回 chisel.autochisel.upgrade.disabled,
槽位名以红色显示(TileEntityAutoChisel.java:42-56)。
红石控制
无内置红石控制。TileEntityAutoChisel 全文没有任何 redstone / powered / comparator
相关代码(已 grep 确认),机器持续运作直到原料耗尽或目标槽为空。
破坏行为
breakBlock 调用 dropItems 把 8 个槽位内的物品全部掉落(BlockAutoChisel.java:49-71)。