血凝布甲(Ichorcloth Armor)

基本信息

属性 值
物品数量 8(基础系 4 + 觉醒系 4)
注册位置 基础系 TTRegistry.java:99(单次 loadMetaItem,展开为 4 件);觉醒系 TTRegistry.java:95-98(4 次 loadSimpleItem)
护甲材质 EnumHelper.addArmorMaterial("ICHOR", 0, new int[] { 3, 8, 6, 3 }, 20),ItemIchorclothArmor.java:57
基础系类 thaumic.tinkerer.common.item.kami.armor.ItemIchorclothArmor
觉醒系基类 ItemIchorclothArmorAdv(abstract,继承 ItemIchorclothArmor,实现 IHazardProtector)
注册门槛 8 件全部为 ConfigHandler.enableKami

数值

数值 值 来源
材质名 ICHOR ItemIchorclothArmor.java:57
耐久 0 ItemIchorclothArmor.java:57
减伤(靴/腿/胸/盔) 3 / 8 / 6 / 3 ItemIchorclothArmor.java:57
附魔加成 20 ItemIchorclothArmor.java:57

ItemIchorclothArmor 同时实现 4 个 Thaumcraft 接口:IVisDiscountGear、ISpecialArmor、IWarpingGear、IRunicArmor(ItemIchorclothArmor.java:54-55)。

物品清单

基础系(4 件,单类多形态)

ItemIchorclothArmor 通过 armorType 字段(0–3)区分部位,以 loadMetaItem 注册:本体 + 3 个 meta 实例 = 4 件(ItemIchorclothArmor.java:124-126 的 getMetaItems() 与 TTRegistry.loadMetaItem())。

物品 注册名 armorType 减伤 源码
血凝布盔 ichorclothHelm 0 3 ItemIchorclothArmor.java:137-138
血凝布胸 ichorclothChest 1 8 ItemIchorclothArmor.java:135-136
血凝布腿 ichorclothLegs 2 6 ItemIchorclothArmor.java:133-134
血凝布靴 ichorclothBoots 3 3 ItemIchorclothArmor.java:131-132

getItemName() 的 default 分支返回字符串 "INVAlID ARMOR TYPE"(ItemIchorclothArmor.java:140,原文即含此拼写)。

觉醒系(4 件)

物品 注册名 Java 类 额外接口 特殊能力 源码
觉醒血凝布盔 ichorclothHelmGem ItemGemHelm IGoggles, IRevealer 揭示类能力 TTRegistry.java:97
觉醒血凝布胸 ichorclothChestGem ItemGemChest — 创造飞行,受 ConfigHandler.enableFlight 控制(ItemGemChest.java:66) TTRegistry.java:96
觉醒血凝布腿 ichorclothLegsGem ItemGemLegs — 放置光源,受 ConfigHandler.shouldKamiLegsDoLightFeature 控制(ItemGemLegs.java:88) TTRegistry.java:98
觉醒血凝布靴 ichorclothBootsGem ItemGemBoots IBoots(Thaumic Boots) 脚下泥土转草方块,受 ConfigHandler.shouldKamiBootsDoGrass 控制(ItemGemBoots.java:81) TTRegistry.java:95

觉醒系通过物品 NBT 的 itemDamage 位在两种形态间切换(ItemIchorclothArmorAdv.onItemRightClick():潜行右键 setItemDamage(~dmg & 1) 并播放 random.orb 音效)。

跨模组接口绑定

4 个觉醒系护甲的共同基类 ItemIchorclothArmorAdv 带有可选接口注解:

@Optional.InterfaceList({ @Optional.Interface(iface = "gregtech.api.hazards.IHazardProtector", modid = "gregtech_nh") })
public abstract class ItemIchorclothArmorAdv extends ItemIchorclothArmor implements IHazardProtector {

(ItemIchorclothArmorAdv.java:35-36)

IHazardProtector 来自 gregtech.api.hazards(ItemIchorclothArmorAdv.java:28 的 import),即 GT5-Unofficial(modid gregtech_nh)。GT5 未加载时该接口被剥离,类退化为不实现任何危险防护接口的普通护甲。这是本模组对 GregTech 危险值系统的唯一接口集成。

觉醒血凝布靴另有一条独立绑定:@Interface(iface = "thaumicboots.api.IBoots", modid = "thaumicboots")(ItemGemBoots.java:53),即 Thaumic Boots 的靴子接口。

两者的完整清单见 软依赖与兼容层。

交互

  • 双重 KAMI 门槛:8 件护甲的 getResearchItem() 首行都是 if (!ConfigHandler.enableKami) return null;(基础系 ItemIchorclothArmor.java:156;觉醒系 ItemGemHelm.java:90、ItemGemChest.java:95、ItemGemLegs.java:101、ItemGemBoots.java:97),与 shouldRegister()(ItemIchorclothArmor.java:145-147)构成两层独立判断。
  • 无飞行/光照/草方块时静默:觉醒胸甲/腿甲/靴甲的附加能力分别受三个不同配置项控制,默认分别为 true(飞行)、false(光源)、true(草方块),见 配置:KAMI 与暗影束。

研究

物品 研究键 父研究
血凝布盔(armorType == 0) KEY_ICHORCLOTH_ARMOR = ICHORCLOTH_ARMOR —
血凝布胸 / 腿 / 靴(armorType != 0) 无(getResearchItem() 返回 null) —
觉醒血凝布盔 KEY_ICHORCLOTH_HELM_GEM ICHORCLOTH_ARMOR
觉醒血凝布胸 KEY_ICHORCLOTH_CHEST_GEM ICHORCLOTH_ARMOR
觉醒血凝布腿 KEY_ICHORCLOTH_LEGS_GEM ICHORCLOTH_ARMOR
觉醒血凝布靴 KEY_ICHORCLOTH_BOOTS_GEM ICHORCLOTH_ARMOR

基础系只有头盔持有研究条目:getResearchItem() 写作 return armorType != 0 ? null : (IRegisterableResearch) new KamiResearchItem(LibResearch.KEY_ICHORCLOTH_ARMOR, …)(ItemIchorclothArmor.java:157-162)—— 即 armorType 为 1/2/3(胸/腿/靴)时返回 null,只有 armorType == 0 的头盔走 ICHORCLOTH_ARMOR 研究。LibResearch 中的 KEY_ICHORCLOTH_HELM / _CHEST / _LEGS / _BOOTS 四个键在本仓库内均无构造点。

相关条目