升级件

基本信息

属性 值
注册名 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 是一个「有物品、有贴图、有名称、能放进面板,但合不出来也发不出请求」的存根变体。

相关条目