史诗镐之背包

基本信息

属性 值
注册名 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)的触发条件:

  1. 先调 super.onTick 保持父类飞行行为
  2. GraviSuite.isSimulating() 为真(客户端 tick)
  3. readToolMode(itemstack) == 1(仅模式 1 生效)
  4. 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)——属于漏声明的运行时依赖。