升级件
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | IC2NuclearControl:ItemUpgrade |
| 类 | shedar.mods.ic2.nuclearcontrol.items.ItemUpgrade(extends Item) |
| 变体数 | 3(按 damage 区分) |
| 耐久 | setMaxDamage(0)(不可损坏,ItemUpgrade.java:31) |
| 子类型 | setHasSubtypes(true)(ItemUpgrade.java:32) |
| 创造标签 | IC2NuclearControl.tabIC2NC |
| 注册位置 | IC2NuclearControl.java:170 |
功能
单一物品 ID + damage 值区分的 3 种面板升级件,作用是解锁面板的对应功能。
| damage | 常量 | 英文显示名 | 未本地化名 | 贴图名 |
|---|---|---|---|---|
| 0 | DAMAGE_RANGE |
Range Upgrade | item.itemRangeUpgrade |
upgradeRange |
| 1 | DAMAGE_COLOR |
Color Upgrade | item.ItemColorUpgrade |
upgradeColor |
| 2 | DAMAGE_WEB |
Web Upgrade | item.ItemWebUpgrade |
upgradeWeb |
常量与贴图名定义于 items/ItemUpgrade.java:16-22;未本地化名由 getUnlocalizedName(ItemStack) 按 damage 分支返回,默认分支返回空字符串(items/ItemUpgrade.java:43-57)。
itemUpgrade = new ItemUpgrade();(IC2NuclearControl.java:139)同样没有链式调用 .setUnlocalizedName(...),但因为 ItemUpgrade 重写了 getUnlocalizedName(ItemStack),三个变体仍能正常取到名字——与传感器定位卡的情形不同。
数值
| 数值名 | 值 |
|---|---|
| 变体数 | 3 |
| 最大堆叠 | 64(未覆盖 setMaxStackSize,沿用 Item 默认值) |
| 最大耐久 | 0(不可损坏) |
交互
| 触发 | 行为 |
|---|---|
| 放入面板升级槽 | 由面板的升级处理逻辑读取;具体槽位与生效方式由面板实现决定 |
| 图标显示 | getIconFromDamage(int damage) 按 damage 返回 upgradeRange / upgradeColor / upgradeWeb 三张独立贴图(items/ItemUpgrade.java:59 起) |
缺陷记录
Web Upgrade(damage 2)是已注册但功能未接通的变体,具体分三层:
- 仍然生效:面板升级槽仍接受该变体,
TileEntityInfoPanel与TileEntityAdvancedInfoPanel都在活跃代码里比对ItemUpgrade.DAMAGE_WEB(tileentities/TileEntityInfoPanel.java:651、:768,tileentities/TileEntityAdvancedInfoPanel.java:112、:127)。 - 配方被注释:
RecipesNew.java:149-151、RecipesOld.java:178-179、crossmod/gregtech/GregtechRecipes.java:203-205中的 Web Upgrade 合成配方全部处于注释块内,因此正常游戏里无法合成,只能靠创造模式取得。 - 功能未接通:驱动 HTTP 传感器的
HttpCardSender.instance.send()调用在ServerTickHandler.java:36处于注释状态;HttpCardSender与Request两个类(panel/http/,依赖argo的 JSON 库)没有任何未被注释的调用点。对应的三个配置项也被注释(见 通用配置项)。
因此 Web Upgrade 是一个「有物品、有贴图、有名称、能放进面板,但合不出来也发不出请求」的存根变体。
相关条目
- 通用配置项 - 同文件内被注释掉的 HTTP 传感器配置
- Information Panel 阵列 - 升级件作用的方块