Upgrade
自动雕刻机升级物品,为 Auto Chisel 提供额外功能。
基本属性
| 属性 | 值 |
|---|---|
| 注册名 | chisel:upgrade(Features.java:334) |
| 父类 | BaseItem |
| 本地化名 | upgrade(ItemUpgrade.java:18) |
| 最大堆叠 | 1(ItemUpgrade.java:20) |
| 耐久 | 无(未调用 setMaxDamage) |
| 子类型 | setHasSubtypes(true)(ItemUpgrade.java:19) |
| 创意栏 | CreativeTabs.tabMaterials(ItemUpgrade.java:17) |
| 图标数量 | 4(ItemUpgrade.VALUES.length,ItemUpgrade.java:37) |
原文遗漏注册名与"无耐久"两项,已补齐。
升级类型
| 元数据 | 名称 | 效果 |
|---|---|---|
| 0 | SPEED | 雕刻速度 4 ticks → 1 tick |
| 1 | AUTOMATION | 允许侧面自动输入/输出 |
| 2 | STACK | 一次雕刻整组物品 |
| 3 | REVERSION | 使用原料的第一个变体作为目标 |
纹理
每个升级类型有独立的图标,路径由 Upgrade.name().toLowerCase() 拼出
(ItemUpgrade.java:30-40):
chisel:upgrade_speedchisel:upgrade_automationchisel:upgrade_stackchisel:upgrade_reversion
getIconFromDamage 用 meta % Upgrade.VALUES.length 取模,
getUnlocalizedName(ItemStack) 同样取模(ItemUpgrade.java:24-27、:49-53),
注释写明 // using modulo throughout to prevent AIOB(:25)。
使用方式
将升级物品放入 Auto Chisel GUI 的升级槽位(槽位 4-7,
MIN_UPGRADE = 4,TileEntityAutoChisel.java:62)。
槽位校验:Upgrade.VALUES[slot - MIN_UPGRADE].ordinal() == itemStack.getItemDamage()
(TileEntityAutoChisel.java:385)——即 metadata 必须与升级类型序号严格一致,
放错槽位不会被接受。
堆叠限制
最大堆叠为 1(ItemUpgrade.java:20,注释 // it's easier this way),
确保每个槽位只能放置一个升级。