史诗镐之背包
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | gravisuiteneo:epicLappack |
| 英文名 | Epic Lappack |
| 中文名 | 无中文翻译(lang/ 目录只有 en_US.lang 与 ru_RU.lang) |
| 实现类 | com.gtnewhorizons.gravisuiteneo.items.ItemEpicLappack |
| 父类 | gravisuite.ItemUltimateLappack(父模组 GraviSuite 的物品) |
| 稀有度 | EnumRarity.epic(ItemEpicLappack.java:78) |
| 护甲材质 | ArmorMaterial.DIAMOND(ItemEpicLappack.java:32) |
| 护甲贴图 | gravisuiteneo:textures/armor/armor_epic_lappack.png(:51) |
| 物品贴图 | gravisuiteneo:itemEpicLappack(:46) |
| 护甲注册 | GraviSuite.proxy.addArmor(GraviSuiteNeo.MODID)(:33) |
| 伤害值参数 | 1(传给父类构造的 damageValue,:34) |
⚠️ 本条目只描述本 mod 自己写的那部分。飞行、推进、悬停等镐之背包的核心行为全部来自父类 gravisuite.ItemUltimateLappack,而 GraviSuite 不在本 wiki 收录范围,故不在此复述。
功能:给背包里的东西充电
这是本物品相对父模组 Ultimate Lappack 的唯一增量——被动为玩家主背包里的其他能量物品充能。
onTick(ItemEpicLappack.java:55-74)的触发条件:
- 先调
super.onTick保持父类飞行行为 GraviSuite.isSimulating()为真(客户端 tick)readToolMode(itemstack) == 1(仅模式 1 生效)RNG.nextInt(tickChance) == 0才真正执行
命中后遍历 player.inventory.mainInventory(主背包 36 格),对每个非空物品:
| 判定 | 动作 |
|---|---|
instanceof IElectricItem 且不是 ItemAdvancedLappack |
doChargeItemStack(itemstack, is)(IC2 EU 充能) |
instanceof IEnergyContainerItem(CoFHAPI) |
doChargeItemStackRF(itemstack, is)(RF 充能) |
ItemAdvancedLappack 被显式排除(:64),避免背靠背的两个镐之背包互相充能。注意排除的是 Advanced Lappack 而不是 ItemEpicLappack 自己,所以史诗镐之背包之间仍会互相充能(源码未排除 this 类型)。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
最大电量 maxCharge |
300000000 EU | Properties.ElectricPresets.EpicLappack(Properties.java:119) |
电力等级 tier |
5 | 同上 |
传输上限 transferLimit |
3000000 EU/t | 同上 |
| 单次操作耗电 | 0 | 同上 |
| 充能扫描概率 | RNG.nextInt(tickChance) == 0 |
ItemEpicLappack.java:59 |
tickChance |
10(可配) | Properties.AdvTweaks.getEpicLappackChargeTickChance(),范围 1–999(Properties.java:224-230) |
tickChance = 10 意味着平均每 10 tick(0.5 秒)扫描一次整个主背包。配置注释说明:「1 means it will scan every tick and thus charge a lot quicker. 20 is about each second」。
maxCharge = 3 亿 是全 mod 最高的(与 PlasmaCell 并列),tier = 5 也高于父模组 Ultimate Lappack 的 tier = 4。
配方
IC2 高级配方机,Recipes.advRecipes(common/RecipeHandler.java:28-42):
R B R
R D R
R A R
| 符号 | 材料 |
|---|---|
| R | 终极镐之背包 ×8(GraviSuite.ultimateLappack,meta WILDCARD_VALUE) |
| B | 铱板(IC2Items.getItem("iridiumPlate")) |
| D | 终极镐之背包(与 R 同种,又 1 个,共 9 个) |
| A | itemSuperconductor(OreDict 名) |
配方可被 recipes settings / Disable EpicLappack recipe 关闭(默认 false)。
⚠️ 该配方需要 9 个终极镐之背包 + 1 铱板 + 1 超导体,是本 mod 最贵的配方。R 与 D 指向同一种物品是源码原样(RecipeHandler.java:35 与 :39)。
成就
gravisuite.epic_lappack,位于成就页坐标 (2, -2),类型为 special(Achievements.java:53),无前置成就。
兼容映射
FMLMissingMappingsEvent 把旧物品名重映射过来(GraviSuiteNeo.java:69-71):
GraviSuite:epicLappack → gravisuiteneo:epicLappack
即从更早的包 ID 升级过来的存档里,父模组时期的 epicLappack 会自动指向本 mod 的物品。
已知注意点
ItemEpicLappack import 了 cofh.api.energy.IEnergyContainerItem(:16)并在 :67-69 使用。CoFHAPI 缺失会导致类加载失败,但 @Mod 的 dependencies 串里没有声明它(GraviSuiteNeo.java:26)——属于漏声明的运行时依赖。