跳到正文
烈焰甘蔗Wiki

Storage Drawers Upgrade

An item that increases the storage capacity of a drawer when applied. Upgrades are consumed upon use.

基本信息

属性 值 来源
注册名 StorageDrawers:upgrade ModItems.java:39,54
未本地化名 storagedrawers.upgrade ModItems.makeName 用 MOD_ID.toLowerCase()
最大堆叠 64(ItemUpgrade 未调用 setMaxStackSize,取父类默认 64) —
耐久度 setMaxDamage(0) → 不可损坏 ItemUpgrade.java:31
子类型 setHasSubtypes(true),metadata 为类型而非耐久 ItemUpgrade.java:30
有效 metadata 2–8 共 7 种(0、1 的 iconNames 为 null,getSubItems 跳过) ItemUpgrade.java:22-23,58-61
附魔适用 否(源码无 getEnchantmentTags 等覆写) —

功能

升级物品,用于提升抽屉方块的存储容量。右击抽屉方块即可使用,使用后消耗。

metadata 与材质名的对应关系来自 ItemUpgrade.iconNames(ItemUpgrade.java:22-23):

升级类型 材质名 metadata 默认容量倍数 合成配方
铁 iron 2 2× 有
金 gold 3 3× 有
黑曜石 obsidian 4 5× 有
钻石 diamond 5 8× 有
绿宝石 emerald 6 13× 有
红宝石 ruby 7 21× 仅 GTNH(dreamcraft 加载时)
坦桑石 tanzanite 8 34× 仅 GTNH(dreamcraft 加载时)

⚠️ 订正(严重):原文把倍数写成 2/3/4/5/6/7/8 的等差数列。源码里这 7 个默认值是斐波那契数列:2, 3, 5, 8, 13, 21, 34(ConfigManager.java:516-529)。黑曜石及以上 5 级全部偏低,且差距随等级指数放大——原文写的钻石 5× 实际是 8×,坦桑石 8× 实际是 34×(差 4.25 倍)。

⚠️ 订正:原文未区分配方来源。主配方表 ModRecipes.java:216-278 只注册了 metadata 2/3/4/5/6 五种;红宝石(7) 与坦桑石(8) 在 ModRecipes 中没有任何原版配方,但并非无法获得——integration/gtnh/ModRecipes.java:505-525 在 dreamcraft 存在时补上了两者的 GTNH 配方(图案 "pup" / "utu" / "psp",'u' = upgradeTemplate,其余为 Ruby / Tanzanite 材质的板与棒)。即:装了 GTNH 才有,不装则确实无法合成。

倍数通过 StorageDrawers.config.getStorageUpgradeMultiplier(damage) 查询(ItemUpgrade.java:52),对应配置项 level2Mult … level8Mult,均可由 StorageDrawers.cfg 改写(标注 setRequiresWorldRestart(true))。因此上表"默认"值并非写死。

使用方式

使用方式 触发条件 使用效果 条件/限制
右键点击抽屉方块 手中持有该物品 增加抽屉容量上限 抽屉必须未达到当前配置的最大升级等级;升级后物品消耗

合成配方

⚠️ 订正:原文"铁锭 ×8 + 铁升级核心 ×1 | 2×2 框架"三项全错——数量、核心名、配方尺寸都不对。真实配方是 3×3,每种消耗 4 个主材料 + 4 根木棍 + 1 个 upgradeTemplate(ModRecipes.java:216-278)。

通用图案(ShapedOreRecipe):

 x y x
 y z y
 x y x

x = 主材料(4 个,四个角)
y = "stickWood" 木棍(4 根,四条边)
z = ModItems.upgradeTemplate(1 个,正中)
产物 x 主材料(4 个) y z 来源
铁升级(meta 2) "ingotIron" "stickWood" ×4 upgradeTemplate ×1 ModRecipes.java:217-228
金升级(meta 3) "ingotGold" "stickWood" ×4 upgradeTemplate ×1 ModRecipes.java:229-240
黑曜石升级(meta 4) Blocks.obsidian "stickWood" ×4 upgradeTemplate ×1 ModRecipes.java:241-252
钻石升级(meta 5) "gemDiamond" "stickWood" ×4 upgradeTemplate ×1 ModRecipes.java:253-264
绿宝石升级(meta 6) "gemEmerald" "stickWood" ×4 upgradeTemplate ×1 ModRecipes.java:265-276
红宝石升级(meta 7) ORE_plateRuby ×4 ORE_stickRuby ×4 upgradeTemplate ×1 integration/gtnh/ModRecipes.java:505-517(GTNH 专属,图案不同)
坦桑石升级(meta 8) ORE_plateTanzanite ×4 ORE_stickTanzanite ×4 upgradeTemplate ×1 integration/gtnh/ModRecipes.java:519-530(GTNH 专属)

GTNH 的两种配方图案为 "pup" / "utu" / "psp":中间一整行是 3 个 u = upgradeTemplate(消耗 3 个,不是 1 个),四角 p = 宝石板,两侧 t = 不锈钢板。

upgradeTemplate(升级模板)——原文的"升级核心"

StorageDrawers:upgradeTemplate 是一个独立注册的物品(ModItems.java:36-38,52),原文的"铁升级核心""钻石升级核心"等在源码中并不存在。

配方(ModRecipes.java:205-214),产出 2 个:

 x x x
 x y x
 x x x

x = "stickWood"(8 根)
y = "drawerBasic"(1 个任意基础抽屉,OreDict)

即 8 木棍围 1 抽屉 → 2 个升级模板。

数值

属性 值 来源
容量倍率范围 2× – 34×(默认;可配置 level2Mult…level8Mult) ConfigManager.java:516-529
每抽屉升级槽位 5 TileEntityDrawers.java:83 new ItemStack[5]
可装升级种类 存储(7) / 状态(2) / 虚空(1) / 创造(3) / 红石(3) / 降级(1),每个槽位各装 1 个,共最多 5 个 ModItems.java:39-50
超过 5 个时 addUpgrade 返回 false,聊天栏提示 storagedrawers.msg.maxUpgrades,不消耗物品 BlockDrawers.java:346-348
创造模式 不消耗升级物品(if (!player.capabilities.isCreativeMode)) BlockDrawers.java:358-360
降级方式 右键 StorageDrawers:upgradeDowngrade,图案同存储升级但 'x' = Items.flint ×4 ModRecipes.java:278-289
特殊效果 装入 metadata=4(黑曜石)升级后,所在方块 getExplosionResistance 返回 1000 BlockDrawers.java:836-849

耐久与消耗

项目 值
最大耐久 无(setMaxDamage(0))
每次使用消耗 1 个(仅非创造模式)
使用后是否消失 是(非创造模式)
被密封的抽屉 升级安装仍可用(addUpgrade 分支在 isSealed() 判定之前),但存/取物品会被拒绝

相关条目

  • Drawer Network - 升级后的抽屉可被纳入控制器网络
  • Key Items - upgradeLock / shroudKey / quantifyKey / personalKey / tape
  • Comp Drawers - 压缩抽屉,同样支持 5 个升级槽
  • Framing Table - upgradeTemplate 的相关方块系统

第三方集成

集成 Mod 集成类型 功能
Waila 工具提示 显示升级类型和效果
NEI 配方/隐藏 物品显示和隐藏
MineTweaker 脚本集成 OreDictionary 黑/白名单
GTNH 配方注册 GTNH/dreamcraft 配方系统
Backhand 副手兼容 副手交互兼容性
浏览全部模组